freebox-mcp
This MCP server exposes the full Freebox OS API, allowing an LLM to monitor and control virtually every aspect of a Freebox router/gateway.
AirMedia: Get/update AirMedia configuration, list connected receivers, and send media to them.
Call Log: Retrieve, update, delete call entries; mark all as read or delete all at once.
Connection: Get connection status and configuration; update settings (remote access, Wake-on-LAN, ping, ad blocking); manage DDNS providers and status; retrieve xDSL/FTTH line stats (rate, SNR, attenuation); manage IPv6 configuration.
Contacts: Full CRUD for contacts including phone numbers, addresses, URLs, and emails.
DHCP: Get/update DHCP server config (IP range, gateway, DNS); view dynamic leases; create, read, update, and delete static leases.
Downloads: List, add, update, and delete download tasks (HTTP, FTP, BitTorrent, NZB); manage peers, pieces, trackers, files, blacklists, and logs; view download stats.
Download Configuration: Configure global download settings including BitTorrent (DHT, PEX, crypto), newsgroups (SSL, auth, auto-extract/repair), throttling modes, watch directories, and concurrent task limits.
Download RSS Feeds: List, create, update, delete, and refresh RSS feeds; browse feed items, mark as read, and enqueue items for download.
Freeplug: List powerline networks and devices, view tx/rx stats, and reset specific Freeplug devices.
File System: List directories, get file info, create directories, copy/move/rename/delete files, archive, extract, hash, repair, and read file contents.
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., "@freebox-mcplist devices on my LAN"
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.
freebox-mcp
A spec-driven Model Context Protocol server for the Freebox OS API — exposing the entire local API of your Freebox Server to any MCP client (Claude, etc.) as ready-to-call tools.
Every tool is generated from an OpenAPI 3.1 document that is itself auto-generated from the official Freebox documentation (https://dev.freebox.fr/sdk/os/). When Free ships a new API version, a scheduled job on a France-reachable host regenerates the spec; on a change it ships a release automatically — no hand-written tool code to maintain.
Three bricks, one contract
┌── 1. SCRAPER ──┐ ┌──── 2. GENERATOR ────┐ ┌─── 3. GENERATED CLIENT ───┐
official docs ─► tools/cache ─────────► spec/freebox-openapi.json ─► FastMCP.from_openapi() ─► MCP tools
(dev.freebox.fr) (html + objects.inv) (pure Python — no AI) (raw output — no edits)The whole pipeline is deterministic — no AI anywhere. The scraper and generator are pure
Python; the generated client is the verbatim output of FastMCP.from_openapi(spec) — no tool is
hand-added, edited, pre-processed, or post-processed. A CI test (test_tools_are_raw_generated_output)
enforces the last step: every exposed tool must be an operationId from the generated spec, or the
build fails.
The only hand-written code is the authenticated transport the generated client runs on (discovery · HMAC session · TLS · envelope unwrap) — things no API spec can express. It is generic, never edited per-endpoint, and app registration / login live in the CLI, not as injected tools.
Exhaustive — every documented operation across every section (wifi, lan, connection, calls, contacts, downloads, fs, nat, dhcp, vpn server + client, pvr, parental control, airmedia, system, …) becomes a tool.
login(auth handshake) and/ws/(WebSocket) are excluded. Runfreebox-mcp sectionsfor the live list and counts.Self-maintaining — regeneration runs on a France-reachable host (GitHub-hosted runners can't reach
dev.freebox.fr); on a doc change it auto-releases. See Regenerating the spec below.Secure — app-token never leaves your machine, HMAC-SHA1 sessions, TLS verified against the bundled Freebox root CAs,
0600credential store. See SECURITY.md.
Quick start
# 1. Authorize the app on your Freebox (one time — press the button on the box).
uvx freebox-mcp authorize
# 2. Point your MCP client at it (stdio).
uvx freebox-mcpauthorize is a one-time physical confirmation (Freebox anti-hijack design). After it, the
token is saved and every later session opens automatically — you never touch the box again.
MCP client config (Claude Desktop / Claude Code)
{
"mcpServers": {
"freebox": { "command": "uvx", "args": ["freebox-mcp"] }
}
}Docker
docker run -i --rm -v ~/.config/freebox-mcp:/home/app/.config/freebox-mcp \
ghcr.io/nelson-proia/freebox-mcp(The container needs LAN access to the box; on Linux add --network host.)
Run from source, no install
uvx --from git+https://github.com/Nelson-PROIA/freebox-mcp freebox-mcp discoverRelated MCP server: trollspace-mcp
What you can do
Because the whole API is exposed, an LLM can chain real tasks:
List every device on the LAN, then reboot the box.
Set up a port-forward / NAT redirect for a self-hosted service.
Schedule a TV recording on the PVR and manage existing recordings.
Toggle wifi, change the SSID/passphrase, split 2.4/5 GHz bands.
Read live xDSL / FTTH line stats (rate, SNR, attenuation).
Apply per-device parental controls and time schedules.
Configure the built-in VPN server and provision VPN client tunnels.
Manage downloads + RSS feeds, FTP, network shares, Freeplug & switch ports.
CLI
freebox-mcp run the MCP server over stdio (default)
freebox-mcp --http run over streamable-HTTP (--host/--port)
freebox-mcp authorize register the app (press the button on the box)
freebox-mcp login open a session and print granted permissions
freebox-mcp discover print discovery info and the chosen transport
freebox-mcp tools list the generated MCP tools
freebox-mcp sections list API sections + tool counts (values for FREEBOX_SECTIONS)
freebox-mcp call OP [JSON] invoke one operation, e.g. `freebox-mcp call get_system`Configuration
Env var | Default | Purpose |
|
|
|
| — | Force a base URL, e.g. |
| — | Comma list to expose only some sections, e.g. |
| — | Comma list of sections to hide. |
|
| App identity on the box. |
Scoping the sections keeps the tool surface small when you only care about a few areas.
Permissions. Configuration-changing tools need the
settingspermission. Grant it (andparental, etc.) for this app in the Freebox OS web UI: Paramètres ▸ Gestion des accès ▸ Applications — no walking to the box.
Regenerating the spec
python -m tools.build # scrape live docs → parse → emit spec/freebox-openapi.json
python -m tools.build --offline # rebuild from the committed cache (deterministic; what CI verifies)dev.freebox.fr blocks GitHub-hosted runner IPs, so the scrape runs on a France-reachable host
— e.g. a weekly cron on an always-on Raspberry Pi (scripts/regenerate.sh). On a spec change it
bumps the version, tags, and pushes; the GitHub release pipeline (which needs no access to the
docs host) then publishes PyPI + signed GHCR + GitHub Release automatically.
Development
uv sync --group dev
uv run pytest # unit + integration (mocked); add FREEBOX_TEST=1 for live
uv run ruff check . && uv run ruff format .License
MIT — see LICENSE. Not affiliated with Free / Iliad.
Available Tools
226 toolsdelete_address_number_address_url_email_idC
Deletes the ContactNumber with the given id.
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only lists error codes ('noent', 'exists', 'no_match') but does not disclose side effects, permissions, reversibility, or rate limits. Minimal transparency beyond error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states purpose, second lists error codes. Efficient but could benefit from slight restructuring for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter and an output schema, the description misses critical details about parameter usage and behavioral implications. Error codes help but are insufficient 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 has one parameter (id) with no description. The description does not elaborate on the parameter's format, type, or meaning. Schema coverage is 0%, and the description fails to compensate.
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 states 'Deletes the ContactNumber with the given id,' clearly specifying the verb and resource. However, the tool name is misleading (address_number_address_url_email_id vs ContactNumber), which could cause confusion. It distinguishes from other delete tools by naming the specific 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 alternatives. No context about prerequisites or exclusions. The description simply states the function, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_call_log_idB
Deletes the CallEntry with the given id.
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'deletes' and lists error codes. Lacks details on irreversibility, side effects, 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?
Very concise: one sentence plus error codes. No fluff, but could be more structured with sections.
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?
Covers basic purpose and error codes but misses behavioral context (e.g., reversibility, success response). Adequate for a simple tool 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 0%; description does not elaborate on 'id' (format, length, etc.). Adds minimal 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 states it deletes a CallEntry by id, with a specific verb and resource. It distinguishes from sibling delete tools (e.g., delete_contact_id) by targeting call log entries.
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 vs other delete tools, no prerequisites or exclusions. Only error codes are listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_contact_idB
Deletes the ContactEntry with the given id.
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Lists error codes ('noent', 'exists', 'no_match'), giving some behavioral insight. But lacks details on permissions, side effects, or idempotency.
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?
Very concise (two lines), no wasted words. However, could include more useful 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 delete tool, description is partially complete. Missing details on return value (output schema exists but undocumented) and id format. Error codes add some completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet description adds no meaning to the 'id' parameter beyond its name. Does not specify expected format or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Deletes the ContactEntry with the given id', specifying the verb (deletes) and resource (ContactEntry). It distinguishes from sibling delete tools by naming the specific 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 vs alternatives like other delete tools. No context about prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_dhcp_static_lease_idD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden for behavioral disclosure. It does not state that the tool deletes a DHCP static lease, nor does it describe side effects, permissions, or success behavior. The error codes list is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which could be concise, but it omits essential information. The list of error codes is not front-loaded or relevant to the tool's primary 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 the simple nature of the tool (one parameter, no output schema), the description is severely incomplete. It fails to explain basic operation, return values, or behavioral 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 coverage is 0%, meaning the schema lacks parameter descriptions. The description adds no meaning for the 'id' parameter; it does not explain what value to provide or its significance.
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 only lists error codes and does not state the tool's purpose. The name suggests it deletes a DHCP static lease by ID, but the description fails to confirm this 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?
No guidance is provided on when to use this tool versus alternatives (e.g., other delete tools). There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_downloads_blacklist_hostD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed. With no annotations, the description carries full burden but provides nothing beyond an error code list.
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?
Though short, the description is entirely misaligned with the tool's function. It wastes space on error codes and omits the tool's actual 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 tool has one required parameter and no output schema, yet the description does not explain its core function (deleting a host from a downloads blacklist). It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage and the description adds no meaning to the 'host' parameter. The error code list is irrelevant to parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely a list of error codes, which does not state the tool's purpose. The name suggests deleting a host from a downloads blacklist, but the description fails to confirm or clarify this.
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 or how it differs from sibling delete tools. The description offers no context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_downloads_feeds_idA
Deletes the DownloadFeed and all the associated items. This will not alter the Download tasks.
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It details the deletion scope (feed and associated items, not tasks) and lists error codes, adding useful behavioral insight. However, it omits details on reversibility, idempotency, 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 highly concise: two sentences plus error codes. It is front-loaded with the core action and includes a side-effect note. No superfluous 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 simple 1-parameter delete tool with an output schema (not shown), the description is adequate but incomplete. It does not explain what 'associated items' are, the meaning of error codes like 'feed_is_recent', or prerequisites. With no annotations, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the description must compensate. It does not describe the 'id' parameter at all, forcing the agent to infer its meaning from context. This is a significant 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 'Deletes' and the resource 'DownloadFeed and all the associated items.' It also explicitly distinguishes from sibling tools by noting it does not alter Download tasks, which differentiates it from delete_downloads_id and similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for deleting a feed and its items, and clarifies that it does not affect tasks, offering some guidance. However, it does not explicitly state when to use this tool over alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_downloads_idA
Deletes the Download task with the given id, without erasing the downloaded files If the task was not done it is stopped You can call this method to remove done tasks from the task list.
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: it stops unfinished tasks, does not erase files, and lists possible error codes. It could add more about permissions or reversibility, but the core behaviors are transparent.
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 in explaining the action but includes a lengthy list of error codes that adds clutter. It is adequately structured but could be more efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema (though not shown), the description covers the action, side effects, and error conditions, making it fairly 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 single parameter 'id' is only mentioned as 'given id' with no added semantics. Schema coverage is 0%, and the description fails to explain the id format or source, offering no value 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 it deletes a download task by id, specifies that it does not erase downloaded files, and distinguishes from siblings like delete_downloads_id_erase by noting the absence of file erasure.
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 implies usage for removing done tasks or stopping unfinished ones, but does not explicitly mention when not to use or name alternatives like delete_downloads_id_erase. The guideline 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.
delete_downloads_id_eraseC
Same as previous, but erases the downloaded files
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Indicates the tool erases files, which is important destructive behavior. No annotations contradict, but further details on side effects or authorization are absent.
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 short but relies on an ambiguous reference. The error code list is long and unstructured, adding noise without value.
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?
Minimal information for a destructive operation. No output schema, no parameter details, and insufficient context for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explain the 'id' parameter, leaving the agent to guess its meaning.
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 states it deletes and erases downloaded files, distinguishing it from a sibling tool. However, it relies on a vague reference to 'previous', which is undefined.
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; only a minimal comparison to a sibling without providing decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_downloads_task_id_blacklist_emptyD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fails to disclose any behavioral traits. It only enumerates error codes, which does not explain what triggers the deletion, side effects, or required permissions. No annotations are available to compensate.
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?
While the description is short, it is entirely uninformative. Every sentence is wasted on irrelevant error codes; it does not earn its place by aiding tool selection or invocation.
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 lack of output schema, annotations, and any meaningful description, the tool definition is completely inadequate for an agent to understand or use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter 'task_id' with no description. The tool description offers no clarification on its meaning, format, or constraints, despite 0% schema description 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 does not state what the tool does; it lists error codes instead of describing the action of deleting an empty blacklist for a download task. The tool name suggests a delete operation, but the description provides no verb or resource 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?
There is no guidance on when to use this tool or when to prefer alternatives. The description lacks any context about its intended use case or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_downloads_task_id_trackers_announceD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| announce | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed. The description only lists error codes, ignoring aspects like whether the operation is destructive, requires authentication, or has side effects. With no annotations, the description fails to provide any behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a simple enumeration of error codes, which is neither a coherent description nor well-structured. It does not serve the purpose of explaining the 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?
The description is severely incomplete. It lacks an overview of the tool's function, prerequisites, side effects, return values, or any context that would help an AI agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning beyond field names. The list of error codes does not explain the parameters' roles, expected formats, or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only lists error codes, which does not state what the tool does. No verb or resource is mentioned, making it impossible to infer the tool's purpose from the description alone.
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. The sibling tools 'post_downloads_task_id_trackers' and 'put_downloads_task_id_trackers_announce' likely have different purposes, but the description offers no differentiation or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_email_number_address_url_email_idC
Deletes the ContactNumber with the given id.
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It lists error codes (`noent`, `exists`, `no_match`) which gives some insight into failure modes, but does not disclose side effects, reversibility, permissions, or whether the operation is idempotent. The behavioral disclosure is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one for the action, one for error codes. Extremely concise, front-loaded with the primary purpose, and 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?
Despite having an output schema (per context), the description does not explain the return value. The parameter semantics are missing, and there is no mention of prerequisites or typical use. For a simple delete tool, it is still incomplete without clarifying what the id refers to and what the output schema contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only says 'the given id' for the parameter, which adds no meaning beyond the schema's property name. It does not explain what the id represents, any format constraints, or how to obtain it.
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 ContactNumber by id, which is a specific and actionable verb+resource. However, given the sibling tools like delete_address_number_address_url_email_id and delete_number_number_address_url_email_id, the description does not differentiate why one would use this tool over those, making it slightly vague in 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?
No guidance on when to use this tool compared to alternatives. The error codes are listed but no context about prerequisites, typical use cases, or conditions where this tool is appropriate versus other delete tools for similar entities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fs_tasks_idA
Deletes the FsTask task with the given id, if the task was running, stop it. No rollback is done, if a file as already been processed it will be left as is.
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses key behaviors: stops task if running, no rollback, and lists possible error codes. This is good transparency for a delete tool, though some details (e.g., concurrency) could be added.
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?
Description is two sentences plus an error code list. Front-loaded with main action. The error code list is lengthy but potentially useful. 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 an output schema exists (context signals), return values need not be described. Description covers the deletion action, side effects, and error codes, providing a complete picture for a simple delete 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 coverage is 0% (no description in schema), but tool has only one parameter 'id', which is self-explanatory. Description does not add extra meaning beyond the schema, but the simplicity of the parameter mitigates the gap. Adequate.
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 'Deletes the FsTask task with the given id', specifying the action (delete) and resource (FsTask). It also mentions stopping if running, adding specificity. Distinguishes from siblings as it targets a unique 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?
Provides consequence information ('No rollback is done, if a file as already been processed it will be left as is') but no explicit guidance on when to use this tool vs alternatives. Usage is intuitive for a delete action, but lacks comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fw_redir_redir_idC
Delete a PortForwardingConfig
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| redir_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only mentions error codes but no details on consequences, permissions, idempotency, or side effects of deletion.
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 but lacks important context. It is not overly verbose but fails to provide sufficient value for the agent.
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?
Despite the tool having an output schema, it is not mentioned. Parameter and behavior details are missing, making the description inadequate for a delete operation with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain the 'redir_id' parameter, its purpose, or how to obtain it.
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 a PortForwardingConfig', which is a specific verb and resource. However, it does not distinguish from sibling tools like 'delete_upnpigd_redir_id' which also deals with redirections.
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 are any prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_number_number_address_url_email_idB
Deletes the ContactNumber with the given id.
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes (noent, exists, no_match) which hint at failure conditions, but with no annotations, it fails to disclose side effects, idempotency, or authorization requirements. The behavioral detail is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: one stating the action and resource, the other listing error codes. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema visibility, the description omits important context like idempotency, required permissions, and response details. The error codes partially compensate but overall completeness is low.
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 0% parameter description coverage, and the description does not elaborate on the 'id' parameter's format, constraints, or meaning beyond being an identifier. No added 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 tool deletes a ContactNumber using an id, distinguishing it from sibling tools like delete_address_number_address_url_email_id which delete addresses, emails, or URLs.
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 delete_email_number_address_url_email_id or get_number_number_address_url_email_id. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_parental_filter_idA
Deletes the ParentalFilter rule with the given id
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly indicates a mutation operation and lists possible error codes ('inval', 'exist', 'noent'). However, it does not mention side effects, reversibility, or success response. Error codes provide some transparency beyond basic.
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: two sentences with key action and error codes front-loaded. No unnecessary words. Efficient for a simple 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?
For a single-parameter delete tool with output schema (unknown), the description covers the main action and error conditions. However, it omits success behavior (e.g., confirmation response). Given the context of many siblings, it is adequately specific but slightly 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 0% coverage, so the description should add parameter meaning. It only says 'with the given id', which adds little beyond the property name. No information on id format, constraints, or source. Minimal compensation for schema 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 it 'Deletes the ParentalFilter rule with the given id', using a specific verb and resource. It distinguishes itself from many sibling delete tools (e.g., delete_call_log_id) by naming the unique resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only implies usage for deleting a parental filter rule. No context about prerequisites 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.
delete_pvr_finished_idC
Delete a Frecord and associated files
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 the action without disclosing side effects, irreversibility, permissions, or what 'associated files' entails. The error code list offers some hints about failure modes but does not describe expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but the inclusion of a long error code list is somewhat cumbersome and not structured. The core action is stated upfront, but the error codes could be explained or placed in a separate field.
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 only one parameter and an output schema (not shown), the description lacks details about return values, irreversibility, and potential side effects. The error codes are present but not contextualized. A more complete description would clarify what is deleted and the implications.
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 'id' is not described in schema (0% coverage). The description does not elaborate on what 'id' represents, but the tool name suggests it is the finished PVR record ID. For a simple required string, this is minimally adequate.
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 Frecord and associated files', which aligns with the tool name indicating deletion of a finished PVR record. It is distinct from sibling tools like delete_pvr_programmed_id, though it does not explicitly mention 'finished' in the description.
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 usage guidance is provided. The description does not specify when to use this tool over alternatives, nor does it mention prerequisites or conditions. The long list of sibling delete tools further highlights the lack of differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_pvr_programmed_idD
Delete a Precord
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes but does not explicitly state deletion behavior (e.g., permanence, side effects). With no annotations, the agent must infer behavior from the name and error list, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one line plus a list of error codes). While concise, the error list is noisy and not relevant for tool selection, and the core description is minimal.
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 details, and many sibling tools, the description is severely incomplete. It fails to explain what a 'Precord' is, the effect of deletion, or how the id is used.
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 only parameter 'id' is not described beyond its type in the schema. Schema coverage is 0%, and the description adds no explanation of what 'id' refers to, nor its format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Delete a Precord', which is a verb+resource pair matching the tool name. However, it does not differentiate from sibling tools like delete_pvr_finished_id, leaving the agent unclear about which deletion tool to use.
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 usage guidelines are provided. There is no indication of when to use this tool versus alternatives, nor any prerequisites or conditions for its invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_upload_cleanA
Deletes all the FileUpload not in_progress
Error codes: invalid_request, path_not_found, access_denied, destination_conflict, invalid_id, cancelled
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
States destructive action and lists error codes, but no annotations are provided so description carries full burden. Lacks details on irreversibility, permissions, or handling of in-progress files.
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: first states action, second lists error codes. No wasted words, but error codes could be formatted more cleanly.
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 zero-parameter tool with output schema, description is adequate but does not explain return value or mention that it's a batch 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?
No input parameters, so schema coverage is 100%. Description adds value by explaining the filtering condition (not in_progress) beyond the empty 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 'Deletes' and specific resource 'all the FileUpload not in_progress'. Distinguishes from siblings like delete_upload_id and delete_upload_id_cancel by specifying batch deletion of non-in-progress uploads.
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 when-to-use or when-not-to-use. Implies it's for batch cleanup of non-in-progress uploads, but lacks comparison with sibling delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_upload_idC
Delete the given FileUpload closing the connection if needed
Error codes: invalid_request, path_not_found, access_denied, destination_conflict, invalid_id, cancelled
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It mentions 'closing the connection if needed' but does not disclose side effects, required permissions, or error handling beyond listing error codes. Behavioral traits beyond the action 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?
The description is short and front-loaded: first sentence gives the action, second lists error codes. While it could be more structured, it is efficient with no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and an output schema, but the description does not mention return values or behavior after deletion. For a simple tool, it is minimally adequate but lacks detail on what the output schema contains or any side effects.
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 one required parameter 'id' with type string, but the description does not explain what 'id' represents (e.g., upload ID). With 0% schema description coverage, the description fails to add meaning to 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?
The description clearly states the tool deletes a FileUpload and optionally closes a connection. The verb 'delete' and resource 'FileUpload' are specific, though it does not distinguish from siblings like delete_upload_id_cancel or delete_upload_clean.
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 delete_upload_id_cancel or delete_upload_clean. It lacks context on prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_upload_id_cancelA
Cancel the given FileUpload closing the connection The upload status must be in_progress
Error codes: invalid_request, path_not_found, access_denied, destination_conflict, invalid_id, cancelled
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It discloses the cancel action closes connection, precondition on status, and error codes. Lacks side-effect details but sufficient for a destructive cancel 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?
Short and to the point, includes precondition and error codes in two sentences. Could be slightly more structured, but 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?
Covers essential: action, precondition, error codes. Missing return value context (though output schema exists). Does not mention idempotency or success indicator. Adequate for a simple one-param delete, 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?
Single required parameter 'id' with 0% schema description coverage. Description does not explain what the 'id' represents beyond 'the given FileUpload', adding minimal value. Agent must infer that id refers to a FileUpload identifier.
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 it cancels a FileUpload by closing the connection, with precondition on upload status. Distinct from sibling delete upload tools by specifying 'cancel' and closing connection.
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 precondition (upload must be in_progress) and lists error codes. However, no explicit guidance on when not to use or alternatives among sibling delete upload tools like delete_upload_id or delete_upload_clean.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_upnpigd_redir_idC
Deletes the given UPnPRedir
Error codes: disabled, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must cover behavioral traits. It only mentions the destructive action and two error codes, lacking details on permissions, side effects, or 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?
Extremely concise with one line and error codes, but lacks necessary detail. Conciseness is valued, but not at the expense of missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description is still incomplete. It does not describe the return value (output schema exists but not detailed) and provides no context on success/failure behavior beyond error codes.
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 0%, and description does not explain the 'id' parameter (e.g., its format or source). The description fails to compensate for the lack of schema documentation.
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 states 'Deletes the given UPnPRedir', clearly indicating action and resource. It distinguishes from siblings by being specific to UPnP redirect, but does not differentiate from similar tools like delete_fw_redir_redir_id.
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. Error codes hint at failure conditions but provide no context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_url_number_address_url_email_idC
Deletes the ContactNumber with the given id.
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions error codes but lacks detail on side effects, permanence, or authorization requirements. With no annotations, the description carries the full burden but only provides minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of one sentence and error codes. It is front-loaded and efficient, though it lacks any structural elements like sections.
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 tool, the description provides minimal context. It does not explain what a ContactNumber is, nor does it mention related resources or operations. The error codes are useful but insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description merely restates that an 'id' is used, adding no meaning beyond the input schema. With 0% schema description coverage, this is a significant 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 it deletes a ContactNumber by id, using a specific verb and resource. However, it does not differentiate from sibling tools that also delete other contact-related items, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative delete tools (e.g., delete_address..., delete_email..., etc.). The agent is left to infer from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_vpn_client_config_idC
Deletes the VPNClientConfig
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It indicates deletion and lists error codes, but fails to describe return values, side effects, or required permissions. The error codes are listed without explanation, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the list of error codes is lengthy and lacks context. It could be more structured (e.g., grouping error codes by category or explaining common ones).
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 delete operation with one parameter and an output schema, the description omits return value details, prerequisites, and side effects. Error codes are listed but not explained, reducing 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 description does not describe the sole parameter 'id'. Given 0% schema description coverage, the description should compensate but adds no 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 states the action ('Deletes') and the resource ('VPNClientConfig'), aligning with the tool name. It distinguishes from sibling delete tools by specifying the resource type, though it doesn't explicitly differentiate from similar operations like 'delete_vpn_connection_id'.
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 usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention prerequisites or context for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_vpn_connection_idD
Deletes the VPNUser
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only lists error codes but fails to disclose any behavioral traits such as destructive nature, authorization requirements, or side effects. The word 'Deletes' is generic.
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 but omits essential information. It is not effectively concise; it is under-specified.
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 an output schema present but unknown content, and a large set of sibling tools, the description provides almost no context about what the tool does, its return value, or how it fits into the overall system.
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 0% and description does not explain the single required 'id' parameter. No meaning beyond the schema is added.
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 states 'Deletes the VPNUser' but tool name is delete_vpn_connection_id, creating confusion about what entity is actually deleted. The purpose is unclear and potentially misleading.
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 the many sibling delete tools (e.g., delete_vpn_user_login). No context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_vpn_user_loginC
Deletes the VPNUser
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While error codes are listed, their meanings are not explained, and the description fails to disclose the destructive nature, irreversibility, or success/failure behavior. No annotations are provided, so the description carries the full burden, which it does not meet.
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 brief but lacks structure. It omits important details like success output or parameter format. The error code list adds some information but is not well integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, delete operation) and the lack of annotations, the description is incomplete. It does not describe the return value, effect on the system, or how to interpret error codes, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about the 'login' parameter beyond the schema. Schema coverage is 0%, and the description does not clarify what 'login' represents (e.g., username, email).
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 'Deletes the VPNUser', indicating a specific verb and resource. It distinguishes from sibling delete tools for VPN client configs or connections, but lacks additional context about what constitutes a VPNUser.
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 delete_vpn_client_config_id or delete_vpn_connection_id. The description does not mention prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_wifi_mac_filter_filter_idC
Delete the WifiMacFilter with the given id
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes but does not disclose behavioral traits such as whether the deletion is permanent, if it triggers side effects, or what permissions are required. With no annotations, the description carries the full burden but fails to provide adequate 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 concise at two sentences, but the structure is minimal. The error codes are listed without explanation, and the main sentence is straightforward. It could be more informative without being much longer.
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 tool with one parameter and an output schema (implied), the description lacks completeness. It does not explain the output or success conditions, and the error codes are not contextualized. The tool's behavior is not fully defined.
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 sole parameter 'filter_id' has no description in the input schema (0% coverage) and the description adds no additional meaning beyond 'with the given id'. No format, constraints, or examples are provided.
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 (WifiMacFilter) with the given id. It is specific and distinguishes from other delete tools targeting different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like put_wifi_mac_filter_filter_id or get_wifi_mac_filter. No exclusions or context for usage are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_address_number_address_url_email_idC
Returns the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only lists error codes, not behavioral traits like side effects, permissions, or rate limits. The agent needs more disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. Efficient, though could expand on error codes naturally.
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?
Tool is one of many similar lookups. Description lacks differentiation and context about the returned object, despite presence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not elaborate on the 'id' parameter beyond implying it identifies a contact number. The description should add details like id format or source.
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 states 'Returns the ContactNumber with the given id', which provides a clear verb and resource. However, the tool name suggests a broader entity (address, number, address, url, email), causing ambiguity. It does not differentiate from siblings like get_email_number_address_url_email_id.
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. Mentions error codes but no contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airmedia_configB
Returns the current AirMediaConfig
Error codes: unknown_target, no_client, set_pass, set_onscreen_code, no_ctrl, http, bad_session, bad_name, bad_device_id, bad_remote_id, req_in_progress, fetch, no_display, playback_state, no_slideshow_srv, no_mem, inout_file, no_volume_control, connect, unauthorized, unsupported_media, bad_type, unimplemented
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond returning the configuration. With no annotations, it fails to mention safety, idempotency, or side effects, leaving agents uninformed about 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 very short and to the point, with a list of error codes appended. It is front-loaded and efficient, though the error code list is somewhat 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 output schema exists, the description lacks context on what AirMediaConfig comprises or why one would retrieve it. Among many sibling get tools, it fails to clarify its specific role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the input schema is fully covered. The description adds no parameter details, but for zero parameters, baseline is 4.
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 'Returns the current AirMediaConfig' clearly states the action (returns) and resource (AirMediaConfig), distinguishing it from other tools like put_airmedia_config.
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 its sibling tools, such as put_airmedia_config for modification or post_airmedia_receviers_receiver_name for receiver operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airmedia_receiversB
Get the list of AirMediaReceiver connected to the Freebox Server
Error codes: unknown_target, no_client, set_pass, set_onscreen_code, no_ctrl, http, bad_session, bad_name, bad_device_id, bad_remote_id, req_in_progress, fetch, no_display, playback_state, no_slideshow_srv, no_mem, inout_file, no_volume_control, connect, unauthorized, unsupported_media, bad_type, unimplemented
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 does not disclose authentication needs, rate limits, or side effects. The error code listing is helpful but lacks behavioral context. The description is too brief to adequately inform the agent of key behaviors.
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?
Description is concise with one line of purpose plus error codes. However, the error code list could be formatted more clearly or placed elsewhere. Overall, it is not verbose but could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and existence of an output schema, the description is minimal but covers the basic purpose. It lacks information about the output structure or special cases. For a simple list tool, it is 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?
Input schema has zero parameters, so description cannot add parameter meaning. Baseline is 4 per rules. No additional filtering or defaults are described, but this is acceptable given no parameters exist.
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 list of AirMediaReceiver connected to the Freebox Server. The verb 'get' and the resource 'list of AirMediaReceiver' are specific. This distinguishes it from sibling 'get_airmedia_config', which deals with configuration.
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, context, or exclusions are mentioned. The description does not help the agent decide between this and similar listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_call_logB
Returns the collection of all CallEntry call entries
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only mentions that it returns all entries and lists error codes, but omits details like pagination, limits, ordering, or any side effects. For a tool that retrieves all entries, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two lines covering purpose and error codes. It is efficient but could add a bit more detail without becoming verbose. Still, it avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an existing output schema, the description is adequate for a simple list-all tool. However, it lacks clarity on the meaning of 'CallEntry', potential size constraints, or sorting. The error codes are mentioned but not explained.
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 no parameters, so description does not need to add parameter meaning. The schema coverage is 100% (empty), and the description does not repeat schema info. A baseline of 4 is appropriate for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Returns' and the resource 'collection of all CallEntry call entries', making it distinct from sibling tools like 'get_call_log_id' which likely retrieves a single entry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'get_call_log_id' or other get tools. It only lists error codes without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_call_log_idA
Returns the CallEntry task with the given id
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Limited disclosure beyond the obvious 'get' behavior. Mentions error codes, but no details on safety, idempotency, or return structure. Annotations absent, so description carries burden but falls short.
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: two lines, no fluff. Error codes included succinctly.
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 get-by-id tool with one required parameter and an output schema, the description is adequate. Could mention that it returns a specific CallEntry, but overall functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. Only refers to 'given id' without explaining format or meaning of id 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?
Clearly states verb ('Returns'), resource ('CallEntry task'), and parameter ('the given id'). Differentiates from sibling 'get_call_log' which likely returns 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 vs alternatives like get_call_log or put_call_log_id. Only error codes listed, no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connectionA
Returns the current ConnectionStatus
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 error codes but does not mention whether the operation is read-only, the nature of the output (though an output schema exists), or any side effects. The error code list adds some transparency but is incomplete without further 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 extremely concise, front-loading the main action, and appending error codes in a clear list. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema, and the context signals indicate a simple retrieval, the description is mostly complete. However, it could mention that it is a read-only operation or provide a brief example of usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is effectively 100%. The description does not need to add parameter semantics, and it appropriately describes the tool's action.
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+resource ('Returns the current ConnectionStatus'), which clearly defines what the tool does. It distinguishes itself from sibling tools like get_connection_config and get_connection_ddns_provider.
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 vs. alternatives. No context is given about prerequisites, typical scenarios, or when to prefer other get_connection_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_configB
Returns the current ConnectionConfiguration
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should fully disclose behavior. It only states it returns the config and lists error codes. Missing details on authentication, side effects (read-only implied), or performance. Error codes are helpful but not comprehensive.
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. Purpose is front-loaded, and error codes are listed. It is appropriately sized for a simple tool with no 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 (several sibling tools, output schema exists), the description could provide more context about what ConnectionConfiguration contains or how it differs from related tools. It is minimal and leaves the agent to infer.
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?
No parameters in input schema, so description does not need to add parameter meaning. Schema coverage is 100% (empty). The description's lack of parameter detail is not a problem.
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 states it returns the current ConnectionConfiguration, which is a specific resource. It is clear but does not differentiate from other 'get_' siblings like 'get_connection', though the name specifies 'config'.
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. There is no mention of prerequisites or when not to use it. Sibling 'put_connection_config' exists for updates, but the description does not clarify selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_ddns_providerC
Returns the current DDNSConfig
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 states the return value and lists error codes, which are minimal behavioral hints. It does not mention whether the operation is read-only, requires authentication, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is concise, but it lacks structure. The error codes are listed without context. While brevity is valued, the description could be more informative without being 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?
Given that there is an output schema, the description is not required to explain return values. However, it omits important context about the parameter and usage scenarios. The tool is simple, but 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?
The schema has a required parameter 'provider' with no description (0% schema description coverage). The tool description does not add any meaning for this parameter, leaving the agent without information on what 'provider' refers to or what values are acceptable.
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 returns the current DDNSConfig, which is a specific resource. This distinguishes it from the sibling get_connection_ddns_provider_status, which presumably returns status. The verb 'Returns' indicates a read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when it is appropriate or when to choose a different tool, such as the status variant or put variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_ddns_provider_statusC
Returns the current DDNSStatus
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists several error codes, which provides insight into possible failure modes. However, it does not disclose whether the operation is read-only, idempotent, or requires specific permissions. Given no annotations, the description partially compensates but lacks comprehensive behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two lines: one for the main purpose and one listing error codes. It is front-loaded with the core function. However, the brevity sacrifices necessary details, making it somewhat under-specified.
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 existence of an output schema, the description does not need to detail return values. However, it fails to explain the sole parameter 'provider' or clarify the scope of 'DDNSStatus'. The tool is simple but the description leaves significant gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required string parameter 'provider' with 0% description coverage. The description does not explain what 'provider' represents, such as expected values or format. The tool name implies it relates to a DDNS provider, but the description adds no semantic meaning beyond that.
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 states 'Returns the current DDNSStatus', which clearly identifies the tool as a getter for DDNS status. However, it does not differentiate from the sibling tool 'get_connection_ddns_provider', which likely retrieves the provider configuration rather than its status. The purpose is specific but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like 'get_connection_ddns_provider' or other get_* tools. There are no explicit context or exclusions provided, making it difficult for an agent to choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_ftthB
Returns the current FtthStatus
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. Only states it returns status and lists error codes. Does not disclose authentication needs, side effects, or behavior under various 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?
Description is concise and front-loaded. Error codes are listed separately, which is efficient. Could be slightly more informative 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 0-parameter tool with output schema, description is minimally adequate but lacks explanation of what FtthStatus entails or expected values. Error codes provide some context, but overall missing depth.
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?
No parameters exist, so the baseline is 4. The description adds no param info, but none is needed.
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 it returns 'FtthStatus', which is a specific resource. It distinguishes from sibling tools like get_connection, get_connection_xdsl, etc., but could be more descriptive about what 'FtthStatus' represents.
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 mention of context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_ipv6_configB
Returns the current ConnectionIpv6Configuration
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists possible error codes, adding transparency about failure modes. However, without annotations, it fails to disclose more behavioral traits (e.g., it is read-only, but that is implied by 'Returns'). The error list is helpful but basic.
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 with two sentences. The main purpose is front-loaded, and the error codes are listed separately. 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?
The description is adequate for a simple get tool with an output schema. However, it lacks context about its role in the broader connection configuration (e.g., relation to put_connection_ipv6_config or get_connection_config).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema coverage is 100%. The description does not need to add parameter info, and it correctly omits it. The baseline is 3, but the clarity earns a slight bonus.
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 'Returns the current ConnectionIpv6Configuration', which accurately describes the tool's action and resource. However, it could be more specific about what the configuration contains, distinguishing it from similar siblings like get_connection_config.
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. Given many get_* siblings, the description should provide context, such as when to query IPv6 config specifically.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_xdslB
Returns the current XdslInfos
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only lists error codes, lacking detail on behavior such as side effects or state changes.
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 to the point, but the error codes are listed without formatting. It earns its place with no fluff.
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 parameters and an existing output schema, the description is minimal but adequate. It could explain what XdslInfos contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description cannot add parameter meaning beyond the schema. Baseline 4 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 'Returns the current XdslInfos', with a specific verb and resource, and it is distinct from other sibling get_connection* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The error list is helpful but does not indicate conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contactA
Returns the collection of all ContactEntry
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 the action and lists error codes, but does not disclose whether the operation is read-only, requires authentication, or other behavioral traits beyond the basic return.
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 line for purpose, one for error codes. No superfluous 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 parameters, a straightforward collection retrieval, and an existing output schema (not shown but present), the description is complete: it states the resource and possible error codes.
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?
No parameters exist, so schema coverage is 100% by default. The description adds no parameter info (none needed), and baseline for 0 parameters is 4.
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 verb 'Returns' and resource 'collection of all ContactEntry', which distinguishes it from siblings like get_contact_id (single contact) and get_contact_contact_id_* (sub-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?
Usage is implied: use this tool for retrieving all contacts, while siblings handle specific contacts or details. However, no explicit when-not or alternatives guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_contact_id_numbers_addresses_urls_emailsC
Returns the collection of all ContactNumber for a given contact
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| contact_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only mentions error codes but omits side effects, read-only nature, pagination, or any constraints, providing minimal 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 very short (two sentences) and directly states the core purpose and error codes. While concise, it sacrifices completeness for brevity, but the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of sibling tools and the existence of an output schema, the description fails to provide necessary context about when to use this tool, its relationship to other contact endpoints, or any required preconditions.
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 0% description coverage for the single parameter contact_id. The description adds 'for a given contact,' which weakly implies the parameter's role but does not explain its format, constraints, or relationship to other entities.
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 that the tool returns a collection of ContactNumber for a given contact, using a specific verb and resource. However, it only mentions 'ContactNumber' while the tool name suggests it also returns addresses, URLs, and emails, causing slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other contact-related tools (e.g., get_contact, get_contact_id). No mention of prerequisites or alternatives, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_idB
Returns the ContactEntry with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It lists possible error codes ('noent', 'exists', 'no_match'), which adds transparency about failure modes. However, it does not disclose side effects, idempotency, or rate limits, which are typical for GET-like operations.
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 short and front-loaded with the purpose, followed by error codes. It avoids redundancy but could be more structured (e.g., explicit usage notes). Ideal for a simple tool, 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 simple single-parameter tool and presence of an output schema, the description covers purpose and error codes adequately. However, it lacks contextual details like id format or when to use this over similar tools, leaving minor 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?
With 0% schema description coverage, the description adds no meaning beyond the parameter name 'id'. It does not explain the format, length, or any constraints of the id parameter, leaving the agent with only the schema's type definition.
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 that the tool returns the ContactEntry with the given id, using a specific verb and resource. It distinguishes itself from sibling tools like get_contact and get_contact_contact_id_numbers_addresses_urls_emails by focusing on a single id lookup.
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 (e.g., get_contact). It does not mention prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dhcp_configB
Returns the current DhcpConfig
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description states it returns config but does not explicitly state it is read-only or non-destructive. The error code list provides some insight into failure modes but lacks behavioral context like idempotency or safety.
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 short and front-loaded with the purpose. Error codes are listed separately. It is efficient but could be slightly more detailed without harming 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 that no parameters exist and an output schema is present, the description is adequately complete. It tells what the tool does and lists relevant error codes.
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?
There are no parameters. Schema coverage is 100% (trivially). The description adds no parameter meaning because none exist. Per rules, baseline 4 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 states 'Returns the current DhcpConfig', clearly indicating the verb (returns) and resource (DhcpConfig). The name 'get_dhcp_config' further clarifies it's a read operation. The tool is distinct from DHCP lease tools like get_dhcp_dynamic_lease.
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 (e.g., get_dhcp_dynamic_lease). No prerequisites, context, or exclusions provided. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dhcp_dynamic_leaseD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries full responsibility for behavioral disclosure. It only lists error codes, omitting key behaviors such as whether it returns a list, requires authentication, or has side effects. No annotation contradiction exists.
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 short but fails to earn its place; it provides irrelevant information (error codes) rather than a clear summary. It is not front-loaded with the core 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 zero required parameters, no annotations, and an output schema that likely contains DHCP lease data, the description should explain the resource and return type. It completely lacks such information, leaving the agent uninformed.
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 0 parameters, so the baseline is 4. The description does not need to add parameter meaning, and the error code list, while irrelevant, does not detract from this dimension.
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 only lists error codes, failing to state the tool's purpose (e.g., retrieving DHCP dynamic leases). It does not specify the verb or resource, making it vague and misleading.
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 get_dhcp_static_lease or get_dhcp_config. The description provides no context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dhcp_static_leaseD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full burden. It only lists possible error codes, which is a minor behavioral hint, but it does not disclose what the tool returns, side effects, permissions, or other important traits. This is insufficient for a complete behavioral picture.
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 short (one sentence listing error codes), but it lacks structure and fails to convey the tool's purpose. It is under-specified rather than concise in a helpful manner.
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 parameters, an output schema exists, and the description includes error codes, the description still fails to explain what the tool does or what it returns. It is critically incomplete for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is 100% (vacuously). Baseline for 0 parameters is 4. The description does not add parameter semantics, but that is acceptable since there are none. It does not detract from this dimension.
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 only lists error codes and does not state what the tool does. The name suggests it retrieves a DHCP static lease, but the description contains no verb or resource description, making it a tautology. Sibling tools like 'get_dhcp_static_lease_id' indicate this might retrieve all leases, but the description fails to clarify.
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 'get_dhcp_static_lease_id' or 'post_dhcp_static_lease'. The description provides no context for when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dhcp_static_lease_idD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only lists error codes without explaining what the tool does (e.g., read operation, potential side effects). This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but fails to convey essential information. Conciseness is not valuable when it omits the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown) and only one parameter, the description completely omits the tool's purpose, return value, and usage context. It is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not explain the 'id' parameter or its expected format. No value added 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 only lists error codes, which does not state the tool's purpose. The name 'get_dhcp_static_lease_id' implies retrieving a static lease by ID, but the description fails to confirm or elaborate, making it uninformative.
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 get_dhcp_static_lease. The description provides no context for selection or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dl_pathD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only lists error codes without explaining any behavioral traits. It fails to disclose side effects, permissions, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a list of error codes, which is not concise or structured for utility. It wastes space on error details without explaining the 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?
Despite having an output schema and the tool's inherent complexity, the description provides zero functional information, making it completely 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 input schema has one parameter 'path' with 0% description coverage. The description adds no meaning or guidance about 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?
The description does not state what the tool does; it only lists error codes. The tool name suggests it retrieves a download path, but the description gives no confirmation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool or how it differs from siblings. The list of error codes offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloadsA
Returns the collection of all Download tasks
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 return type and lists error codes, without disclosing any behavioral traits such as read-only nature, pagination, or ordering. This is insufficient for an agent to fully understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is concise and front-loaded. However, the long list of error codes adds unnecessary verbosity and is not essential for typical usage. Trimming or summarizing the error codes would improve 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 that there is an output schema, the description need not explain return values. The description covers the purpose and error codes. For a simple list-all tool, it is mostly complete, though it could mention if any implicit ordering or filtering exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (input schema is empty), so baseline is 4. The description does not need to add parameter semantics, and it correctly omits parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Returns the collection of all Download tasks', using a specific verb and resource. This purpose distinguishes it from siblings like get_downloads_id (specific task) and get_downloads_config (configuration).
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 when-to-use or when-not-to-use guidance is provided. The purpose implies it is for listing all downloads, but there is no mention of alternatives or conditions. Given the large sibling list, some guidance would help, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_configB
Returns the current DownloadConfiguration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavior beyond 'Returns', such as side effects (none) or that it is a read-only operation. For a simple getter, minimal burden, but still lacks explicit safety or idempotency hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single phrase, front-loaded, 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?
While output schema exists and no parameters, the description is minimal. It does not explain what the DownloadConfiguration represents or when to retrieve it, leaving the agent to infer from the name.
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?
No parameters exist, so schema description coverage is 100%. Description adds no extra meaning, but baseline for high coverage is 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 clearly states 'Returns the current DownloadConfiguration', specifying a read operation on a specific resource. It distinguishes from sibling tools like put_downloads_config (update) and get_downloads (list downloads).
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., put_downloads_config). The description does not provide context for its use case or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_feedsA
Returns the collection of all DownloadFeed feeds
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 of behavioral disclosure. It only states the return value and lists error codes, but does not mention whether the operation is read-only, idempotent, or requires authentication. An output schema exists but the description does not add behavioral context beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence stating the purpose, followed by a list of error codes. It is front-loaded with the main action and contains no unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema, the description is fairly complete. It explains what is returned and lists possible errors. However, it lacks contextual details such as whether the operation is idempotent or read-only, and does not mention any ordering or filtering 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?
There are zero parameters, so the baseline is 4. The description does not need to add parameter info, and the schema coverage is trivially 100%. The description adequately covers the lack of parameters by stating it returns all feeds.
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 'Returns the collection of all DownloadFeed feeds', which is a specific verb ('Returns') and resource ('collection of all DownloadFeed feeds'). This distinguishes it from sibling tools like get_downloads_feeds_id (single feed) and post_downloads_feeds (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 guidance on when to use this tool versus alternatives. It only states what it returns. The sibling tool list implies that get_downloads_feeds is for listing all feeds, while get_downloads_feeds_id is for a specific feed, but the description itself lacks direct usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_feeds_feed_id_itemsA
Returns the collection of all DownloadFeedItems for a given DownloadFeed
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| feed_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It lists error codes (e.g., feed_not_found) and states the return of 'all' items. However, it omits details like pagination, sorting, or whether items are mutated, which are relevant for safe usage.
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—one sentence plus error codes—without unnecessary words. The main action is front-loaded, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, the description is minimal and lacks context about the scope of 'all' items (e.g., pagination, limits). Error codes add value, but overall completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description fails to add meaning to the feed_id parameter beyond the schema. It does not explain its format, source, or relationship to other tools, which is necessary given the low 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 it returns the collection of all DownloadFeedItems for a given DownloadFeed, using a specific verb and resource. It distinguishes from sibling tools like get_downloads_feeds (returns feeds) and get_downloads_feeds_id (returns a specific feed).
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 lacks explicit guidance on when to use this tool versus alternatives. It implicitly suggests use when needing items for a feed, but no when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_feeds_idA
Gets the DownloadFeed with the given id
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It lists error codes but doesn't disclose authentication needs, side effects, or broader behavior. Basic but not comprehensive.
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?
Very short: one line plus error codes. Front-loaded with main statement. Efficient but could include more detail without being 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?
Output schema exists, so return structure is covered. However, with no annotations and a minimal description, context about the resource and error handling is limited. Adequate for a simple get-by-id tool but not 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 has one parameter 'id' with no description, and the description only says 'with the given id', adding no additional meaning. Schema coverage is 0%, so description should compensate but fails to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets the DownloadFeed with the given id', specifying verb and resource. It distinguishes from siblings like get_downloads_feeds (list) and get_downloads_feeds_feed_id_items (items), so purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_downloads_feeds. The name implies retrieval by id, but no when/not-to-use or alternative mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_idB
Returns the Download task with the given id
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists many potential error codes, which is a behavioral disclosure regarding failure modes. However, there is no mention of whether the operation is read-only, idempotent, or requires specific permissions. The error codes partially compensate for missing annotations, but the burden is high without annotations.
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 concise: one sentence plus a list of error codes. There is no fluff, and the error codes are structured. However, the error code list dominates and could be considered verbose, but it's still helpful and not excessive.
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 one parameter and an output schema, the description covers the basic purpose and error conditions. It does not explain the structure or content of the returned Download task, but the output schema likely provides that. The error code list adds completeness. However, for a simple tool, it is minimally adequate.
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 parameter 'id' has no description in the schema (0% coverage). The description says 'the given id' but does not clarify what the id represents (e.g., format, source). The error codes hint at invalid id scenarios, but explicit semantic guidance is lacking.
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 returns a Download task by id. The verb 'Returns' and the resource 'Download task' make the purpose clear. While it doesn't explicitly distinguish from siblings, the name and description imply it retrieves a specific task, which is distinct from other get_downloads_* tools that retrieve lists or configurations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_downloads (to list all tasks) or other get_downloads_* tools. The description lacks context on when to use this specific id-based retrieval, which is a missed opportunity for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_id_logD
Get the log.
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only lists error codes without describing the tool's behavior, side effects, or what the log contains. It adds no behavioral context beyond the name.
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 terse, but the long list of error codes is not well-structured and does not compensate for the lack of meaningful content. Every sentence could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema and many sibling tools, the description is completely inadequate. It fails to explain the log's content, how to interpret the error codes, or what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of the 'id' parameter. The tool requires one parameter, but its purpose and format are not clarified.
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 the log' is a tautology that merely restates the tool name without specifying what log is being retrieved or for which resource. It does not distinguish this tool from siblings like get_downloads_id.
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 usage guidelines provided. There is no indication of when to use this tool versus other get_* tools, such as get_downloads_id or get_vpn_client_log.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_statsD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose any behavioral traits such as side effects or return format. It only lists error codes, which is insufficient for understanding tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but not effectively concise. It is a list of error codes without context or structure, wasting the opportunity to explain 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?
Given the existence of an output schema, the description should clarify what statistics are returned. It fails to do so, leaving the agent without essential 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?
There are zero parameters, so the baseline is 4, but the description adds no value beyond the schema. It does not explain what the statistics are or how they are retrieved. The error codes list does not aid parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only lists error codes and does not state what the tool does. It fails to indicate that it retrieves download statistics, which is the purpose implied by the name. The description is missing entirely.
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 sibling tools like get_downloads or get_downloads_config. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_task_id_blacklistD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits. It only lists error codes without explaining the operation's nature 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 list of error codes, not a coherent tool description. It is under-specified and not structured for an AI agent to understand 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?
Despite having one parameter and an output schema, the description is completely inadequate. It fails to explain the tool's function, making it unusable for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds no meaning to the 'task_id' parameter beyond the schema. No explanation of what task_id refers to or how to use it.
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 only lists error codes and does not state what the tool does. The tool name suggests it retrieves a blacklist for a download task, but the description provides no purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context about prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_task_id_filesD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as read-only nature, side effects, or prerequisites. The error code list does not substitute for 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 very short but not concise; it consists entirely of a list of error codes that is unrelated to the tool's purpose. This wastes space and does not help the agent.
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?
Despite having an output schema, the description fails to explain the tool's purpose, behavior, or return value. The single parameter is straightforward, but the description is wholly inadequate for an AI agent to understand the 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 description adds no meaning to the parameter 'task_id' beyond what the schema provides. With 0% schema description coverage, the description should have explained the parameter's role, but it did not.
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 only lists error codes, failing to state the tool's purpose. The name 'get_downloads_task_id_files' suggests it retrieves files for a download task, but the description provides no verb or resource clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool versus sibling tools like get_downloads_task_id_peers or get_downloads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_task_id_peersD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only lists error codes, omitting key details such as that this is a read operation, or how it behaves under various 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 raw list of error codes that does not efficiently convey the tool's purpose. It consumes space without providing actionable 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?
Despite having an output schema and a single required parameter, the description fails to provide any useful context about what the tool returns or when it is appropriate to use, making it completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage. The description does not explain the task_id parameter, its format, or its role. The error code list adds no parameter meaning.
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 only lists error codes and does not state what the tool does. The name suggests it retrieves peers for a download task, but the description fails to confirm this purpose, leaving the agent unable to determine its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like get_downloads_task_id_files or get_downloads_task_id_trackers. The description offers no context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_task_id_piecesD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose any behavioral traits. The list of error codes hints at possible failures but provides no 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 bare list of error codes, which is not concise; it is under-specified and lacks structure. It does not earn 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?
With no annotations, no output schema provided, and only a list of error codes, the description is completely inadequate for an agent to understand the tool's purpose or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter (task_id) with no description. The tool description adds zero information about the parameter's meaning or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only lists error codes and does not state what the tool does. The name suggests retrieving pieces for a task, but no purpose is given.
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 or how it differs from siblings like get_downloads_id or get_downloads_task_id_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_downloads_task_id_trackersD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 vs write, side effects, or required permissions. Only a list of potential error codes is given, which does not convey behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a raw list of error codes, not a concise explanation of the tool. It is not front-loaded with key information; every line is a code with no contextual value.
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 lack of annotations, incomplete schema coverage, and an output schema that is not documented in the description, this tool description fails to provide any useful context. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter 'task_id' with 0% description coverage. The description does not explain the parameter, its purpose, or its format. It only lists error codes unrelated to parameter meaning.
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 lists error codes but does not state what the tool does. The name suggests it retrieves trackers for a download task, but the description provides no purpose, making it nearly useless.
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?
There is no guidance on when to use this tool, no context for when it is appropriate, and no comparison to sibling tools. The description is entirely absent of usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_number_address_url_email_idD
Returns the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It mentions error codes but not whether the operation is read-only, requires authorization, or has side effects. The description is too 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?
The description is short but lacks necessary details. Conciseness is not effective when it omits critical information like the exact resource type.
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?
Despite having an output schema and low parameter count, the description does not explain the output or how to interpret the returned data. It is insufficient for a tool in a domain with many similar tools.
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 only parameter 'id' is required but not described in the schema (0% coverage) and the description does not clarify what it represents (e.g., contact ID, email ID). The description adds no meaning 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 says 'Returns the ContactNumber with the given id', but the tool name includes 'email', creating confusion about the resource. It does not clearly differentiate from sibling tools like get_number_number_address_url_email_id or get_email_number_address_url_email_id.
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. With many similar get tools, the description should specify when this specific tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_freeplugB
Returns the list of FreeplugNetwork
Error codes: inval, nomem, nosta, nopeer
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only lists error codes but does not disclose other behavioral traits such as read-only nature, authentication needs, or rate limits. With no annotations, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loaded with the core purpose, and includes actionable error codes. 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?
The description states it returns a list and provides error codes, but does not explain what 'FreeplugNetwork' is. Given the existence of an output schema, the agent can infer structure, but more context about the resource would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema is fully covered. The description adds no additional meaning, but baseline for 0 parameters is 4.
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 'Returns' and the resource 'FreeplugNetwork', making the purpose understandable. However, it does not differentiate from the sibling tool 'get_freeplug_id', which retrieves a specific ID.
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. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_freeplug_idD
Returns the list of Freeplug
Error codes: inval, nomem, nosta, nopeer
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It lists error codes ('inval', 'nomem', etc.) which is helpful, but does not disclose whether the operation is read-only, if authentication is needed, or what side effects occur. The contradictory 'list' wording further obscures behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short (one line plus error codes), but the core statement is ambiguous and undermines clarity. Conciseness without clarity is not effective.
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?
Despite simple schema (1 param) and existence of output schema, the description fails to explain the tool's purpose correctly, what a Freeplug is, or what the output represents. It is wholly insufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% coverage for parameter descriptions, and the description adds no meaning to the 'id' parameter. It does not explain what 'id' represents (e.g., device identifier) or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description says 'Returns the list of Freeplug' but requires an 'id' parameter, creating contradiction about whether it returns a list or a single item. It identifies the resource (Freeplug) vaguely but does not clarify the scope or distinguish from sibling 'get_freeplug'.
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. Given the sibling 'get_freeplug' likely lists all freeplugs, the description does not explain that this tool is for a specific ID or how they differ.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fs_info_pathC
Returns the FileInfos for the given path
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only lists error codes but does not disclose behavioral traits such as idempotency, side effects, or what 'FileInfos' contains. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, but the extensive error code list adds clutter and may overwhelm the agent. The purpose is front-loaded, but the list could be shortened or placed elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, return values need not be explained. However, the description lacks context about the path parameter and does not differentiate from similar tools like get_fs_ls_path. The error code list is not contextualized. Overall incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any meaning beyond the schema for the 'path' parameter. It only says 'given path' without explaining format (absolute/relative), path type (file/directory), or constraints. Schema coverage is 0%, and the description does not compensate.
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 'Returns the FileInfos for the given path', specifying a verb ('Returns') and a resource ('FileInfos'). It distinguishes from siblings like get_fs_ls_path by focusing on a single path, but could be more explicit about differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_fs_ls_path. The description does not include any context for usage or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fs_ls_pathB
Returns the list of FileInfos for the given path
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly lists error codes, which adds behavioral transparency by informing the agent of possible failure modes. However, no annotations are present, so the description carries the full burden. It does not disclose side effects, permissions, or rate limits. The error code list is helpful but lacks explanations for when each error occurs, limiting its practical value.
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: the first states the purpose, and the second lists error codes. While the error code list is long and could be more integrated, the overall structure is front-loaded and avoids unnecessary verbosity. The description earns its keep by providing error 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 simplicity of the tool (single parameter, output schema exists), the description is adequate but not thorough. It lacks details about the output schema structure, which the schema itself may provide. The error code list is a positive addition, but the description could better connect errors to input conditions.
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 only parameter, `path`, is not described beyond its name and type in the schema. The description merely says 'the given path' without clarifying format, allowed values, or examples. Since schema coverage is 0%, the description fails to add meaningful semantic detail to aid the agent in constructing valid inputs.
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 returns a list of FileInfos for a given path. The verb 'Returns' and resource 'FileInfos' combined with 'list... for the given path' provide a specific and unambiguous purpose. In the context of many get_ siblings, this tool is distinct as it deals with filesystem path listing, and the name itself is descriptive.
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?
There is no guidance on when to use this tool versus alternatives. For instance, the sibling tools include `get_fs_info_path` for metadata and `get_dl_path` for download paths, but the description does not differentiate when to use each. Additionally, no prerequisites or context for invocation are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fs_tasksB
Returns the collection of all FsTask tasks
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only mentions returning a collection and lists error codes. It does not disclose read-only nature, authentication, rate limits, 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?
Purpose statement is clear and front-loaded, but the long list of error codes adds clutter and reduces conciseness. Structure could be improved by moving errors elsewhere.
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?
Despite no input and existing output schema, description lacks domain context about FsTask tasks. Error list is excessive; tool's role in file system tasks is not fully explained.
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?
No parameters exist, so schema covers everything. Baseline score of 4 applies; description adds no parameter information (none needed).
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 'Returns the collection of all FsTask tasks', using a specific verb and resource. It distinguishes from sibling tools like get_fs_tasks_id, which returns a single task.
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., get_fs_tasks_id). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fs_tasks_idC
Returns the FsTask task with the given id
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like side effects, resource consumption, or auth requirements. It lists many error codes, which adds some transparency about failure modes, but is insufficient for a complete behavioral picture.
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 short with a clear first sentence, but the error code list is long and comma-separated without proper formatting or grouping, reducing readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description is minimally complete for a simple get-by-id operation. However, it lacks parameter guidance and context about error handling beyond listing codes.
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 'id' has no description in the schema (0% coverage) and the tool description adds no explanation of what the id represents, its format, or how to obtain it.
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 returns the FsTask task with a given id, using a specific verb and resource. It distinguishes from siblings like get_fs_tasks (list) and get_fs_tasks_id_hash (different variant).
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 compared to alternatives, no prerequisites or when-not-to-use indications. The error code list hints at possible failures but does not guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fs_tasks_id_hashD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only lists error codes, revealing nothing about what the tool does 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 very short but wasted on a raw list of error codes. It does not follow a standard structure (purpose, usage, behavior) and is under-specified.
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?
Even with an output schema in context, the description does not explain the tool's function, making it inadequate for understanding how to use it.
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 one required parameter 'id' (string), but the description does not explain its meaning or format. With 0% schema description coverage, the description should compensate, but it fails to do so.
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 only lists error codes and does not state what the tool does. The name suggests it retrieves a hash for a filesystem task by ID, but the description provides no purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings. The list of sibling tools includes many 'get_fs_*' tools, but no distinction is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ftp_configB
Get the FtpConfig
Error codes: internal_error, weak_password
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only mentions error codes (internal_error, weak_password) but does not explain whether the operation is read-only, has side effects, requires authentication, or what happens if the config is missing. The error code 'weak_password' hints at a validation step, but it is not elaborated.
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 (two lines) and to the point. It includes the essential purpose and error codes. However, it could be more structured with additional context without being 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?
Given the tool is simple with no parameters and an output schema exists, the description minimally covers the purpose. However, it lacks context about what FtpConfig represents, when errors occur, and the nature of the operation. The error codes hint at possible issues but are not explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and schema coverage is 100%. The description adds no extra parameter information, but none is needed. Baseline 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get the FtpConfig', which clearly indicates the action (get) and the resource (FtpConfig). However, it does not differentiate from other get_* tools like get_connection_config, and it is essentially a restatement of the tool name.
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, context, or why one would choose this over other get tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fw_dmzB
Returns the current DmzConfig
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 it returns config and lists error codes, but does not disclose that it is a read-only operation, any side effects, or authentication requirements. The error codes are helpful but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence plus error codes). It is front-loaded with the purpose. However, it could be slightly more informative without being verbose, so not a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (not provided), the description could compensate by explaining the return structure or typical usage, but it only gives error codes. It lacks details about what DmzConfig contains, any limitations, or when to expect errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema description coverage is 100% (empty schema). According to guidelines, baseline is 4. The description adds no extra meaning for parameters, but that is acceptable. It provides error codes that add some context.
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 returns the current DmzConfig, using a specific verb and resource. However, it does not explicitly distinguish it from sibling tools like get_fw_incoming or get_fw_redir, but the context of DMZ is unique enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to use get_fw_dmz vs put_fw_dmz or other get_fw tools. There is no mention of prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fw_incomingD
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavior. It only mentions possible error codes without describing successful outcomes or other traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but lacks substance. It is not a useful summary of the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters but an output schema exists, the description should at least indicate what the tool returns. It only lists error codes, leaving the agent uninformed.
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% (no parameters), so baseline is 3. The description adds no parameter meaning, but there are no parameters to document.
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 only lists error codes and does not state the tool's purpose. The name suggests retrieving incoming firewall rules, but the description fails to confirm this.
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. The description is purely an error code list with no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fw_incoming_port_idC
Returns the requested IncomingPortConfig properties
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| port_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral aspects. It mentions error codes but does not explain them or any side effects. The read-only nature is implied by the 'get_' prefix but not explicitly stated.
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 brief (two sentences plus error codes) but sacrifices useful details. While concise, it is too sparse to be fully helpful, earning a mid-range score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 1 parameter and lack of annotations, the description is incomplete. It does not explain the output (though an output schema exists) or clarify the error codes. Context for usage is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must add meaning to the 'port_id' parameter. It does not explain its format, source, or how to obtain it, leaving the agent without sufficient guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the requested IncomingPortConfig properties, using a specific verb ('Returns') and resource ('IncomingPortConfig properties'). It distinguishes from siblings like 'get_fw_incoming' (likely lists all) and 'put_fw_incoming_port_id' (updates).
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 only lists error codes but provides no guidance on when to use this tool versus alternatives like 'get_fw_incoming' or 'put_fw_incoming_port_id'. There is no explicit context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fw_redirD
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It only lists error codes, omitting mutation, side effects, or other behaviors.
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 short but fails to provide essential information, making it underspecified and unhelpful.
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?
Despite having an output schema, the description does not explain the tool's purpose or context, leaving it incomplete 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?
No parameters exist, and schema coverage is 100%. The description adds no parameter information 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 does not state what the tool does; it only lists error codes. The purpose is not explicit, and the tool name 'get_fw_redir' is insufficient alone.
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. Sibling tools like 'get_fw_redir_redir_id' exist but are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fw_redir_redir_idC
Returns the requested PortForwardingConfig properties
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| redir_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description only provides error codes but omits behavioral details such as authentication requirements, side effects, or response structure. The read-only nature is implied by the name but not stated.
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 brief (one sentence plus error codes), which is efficient and front-loaded with the primary purpose. However, it sacrifices necessary detail for 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?
While an output schema exists, the description fails to provide sufficient context about the parameter, prerequisites, or the meaning of error codes like 'exist'. The tool is simple, but the description is too sparse for reliable 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?
The parameter 'redir_id' is required but lacks a description. The schema coverage is 0%, and the description does not explain what the parameter represents beyond implying it identifies the redirect.
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 returns PortForwardingConfig properties for a requested redirect, and the name indicates retrieval by ID. It is specific but does not explicitly distinguish from the sibling get_fw_redir, which likely lists all redirects.
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 get_fw_redir. The description lacks context for selecting this tool over similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lan_browser_interfaceB
Returns the list of LanHost on this interface
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
| interface | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes, which adds transparency about potential failures. However, with no annotations, it does not explicitly state that this is a read-only operation or disclose other behavioral traits like pagination or performance implications. The error codes partially compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using two sentences to state purpose and list error codes. Every sentence adds value, but it could be better structured (e.g., bullet points for error codes) or include parameter details in a clearer format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has one required parameter that is not described, and no usage context (e.g., 'Requires a valid interface from get_lan_browser_interfaces'), the description is incomplete. The output schema existence mitigates the need for return value explanation, but parameter documentation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the 'interface' parameter (e.g., what format, how to obtain it). With 0% schema description coverage, the description fails to add meaning beyond the schema. The phrase 'on this interface' only implicitly references 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?
The description clearly states the verb 'Returns' and the resource 'list of LanHost', specifying the context 'on this interface'. This distinguishes it from siblings like get_lan_browser_interfaces (which returns interfaces) and get_lan_browser_interface_hostid (which returns a specific host ID).
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 that the tool is used to get hosts for a given interface, but it does not provide explicit guidance on when to use it versus alternatives (e.g., 'Use get_lan_browser_interfaces to list available interfaces first'). No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lan_browser_interface_hostidC
Returns the requested LanHost properties
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
| interface | Yes | ||
| hostid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry the full burden. It only says 'Returns' without confirming read-only nature, side effects, authentication needs, or rate limits. The error code list offers some insight into potential failures but does not disclose overall behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the error codes list is appended without structure or explanation, making it somewhat noisy. It could be more efficiently front-loaded with the core 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 annotations, zero schema coverage, and an output schema that is not described, the description is insufficient. It does not cover parameter meanings, return value details, or usage conditions, making it incomplete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the input schema has no descriptions for 'interface' and 'hostid'. The description does not explain what these parameters represent or their expected format, leaving the agent without critical context.
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 'Returns the requested LanHost properties' clearly states the action (returns) and resource (LanHost properties). However, it does not differentiate from sibling tools like 'get_lan_browser_interface' or 'get_lan_browser_interfaces', but the naming convention implies this tool targets a specific host by interface and hostid.
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, and no mention of required context. The description solely states what the tool does without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lan_browser_interfacesD
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes, which gives no information about side effects, permissions, or return behavior. The description fails to describe what happens when the tool is invoked.
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 brief but lacks a front-loaded purpose statement. It lists error codes without any context, making it under-specified rather than concisely informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and no parameters, the description fails to explain what the tool returns, when to use it, or how it differs from siblings. Listing error codes does not compensate for the missing operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so schema coverage is 100%. According to the rubric, baseline is 3 when schema coverage is high. The description adds error codes, but these are not input parameters. No additional parameter meaning is needed.
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 only lists error codes and does not state what the tool does. The name suggests it retrieves LAN browser interfaces, but the description provides no explicit purpose. This is insufficient for an agent to understand the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like `get_lan_browser_interface` or `get_lan_browser_interface_hostid`. The description offers no context for selection among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lan_configB
Returns the current LanConfig
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 states it returns a config and lists error codes. There is no mention of side effects, permissions, or read-only nature. The error codes add some transparency but not enough for a description carrying full burden.
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, consisting of one sentence and a list of error codes. It is front-loaded with the main purpose. The error code list is lengthy but informative and does not detract from 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 that an output schema exists (as per context signals), the description does not need to detail return values. The error codes provide some completeness. However, the description lacks context about what properties the LanConfig contains or any related configurations. It is minimally complete for a simple get 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 tool has no parameters, so the input schema is complete. The description adds no parameter information, but none is needed. With 0 parameters, a score of 4 is appropriate as the baseline is high.
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 'Returns the current LanConfig' clearly states the action (returns) and resource (LanConfig). It distinguishes from siblings that get other resources (e.g., get_connection, get_system). However, 'LanConfig' is not defined, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives like put_lan_config or other get_* tools. There is no mention of prerequisites or context, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lcd_configB
Get the LcdConfig
Error codes: inval, no_panel, setup
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only lists possible error codes ('inval', 'no_panel', 'setup') without explaining what the config contains, whether the operation is safe, or any 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 very short (two lines) and front-loaded with the primary action. It includes useful error code information efficiently. Could be considered too terse, but fits the tool's 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?
Given the tool has no parameters, an output schema exists, and siblings are numerous, the description lacks context about what 'LcdConfig' represents. The error codes add some value but do not fully compensate for missing semantic 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?
The tool has 0 parameters and 100% schema description coverage. Per guidelines, a baseline of 4 is appropriate since no parameter information is needed 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 'Get the LcdConfig' uses a specific verb and resource, clearly indicating a read operation. It distinguishes from sibling tools like 'put_lcd_config' (update) and other get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs alternatives. It simply states 'Get', implying read-only usage, but does not specify contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_number_number_address_url_email_idC
Returns the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes but fails to disclose other behavioral traits such as read-only nature, authentication needs, or side effects. Since no annotations are provided, the description should carry this burden but falls short.
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 to the point, but it sacrifices completeness for brevity. It could include more useful information without becoming overly long.
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 large number of similar sibling tools and the existence of an output schema, the description does not provide sufficient context to differentiate this tool or fully understand its behavior. It is incomplete for a get 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 schema has one parameter 'id' with no description, and the tool description does not add any meaning beyond 'given id'. It does not explain what the id represents or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'ContactNumber' given an id, which is specific. However, it does not differentiate from sibling tools like get_address_number_address_url_email_id, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_parental_configB
Get the ParentalFilterConfig
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'Get' and lists error codes. Does not disclose behavioral traits like authentication needs, safety, or side effects. Lack of depth given no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise—two short sentences with no fluff. Front-loaded with purpose, and error codes are appropriately placed.
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 zero-parameter tool with an output schema, the description is adequate: it states the action and lists potential errors. Sufficient 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?
No parameters in schema (100% coverage), baseline of 4. Description adds nothing beyond schema, but none needed.
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 'Get the ParentalFilterConfig', specifying a verb and a specific resource. Distinguishes from siblings like get_parental_filter and put_parental_config by resource name. However, lacks additional context about what the config contains.
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., get_parental_filter, get_parental_filter_id). The description does not provide any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_parental_filterA
Returns the collection of all ParentalFilter rules.
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided so description must disclose behavior. Lists error codes ('inval', 'exist', 'noent') which is helpful, but does not describe side effects, auth needs, 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?
Extremely concise with two clear sentences. Front-loads the purpose in the first sentence. 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 no parameters and an output schema, the description sufficiently identifies the resource and error codes. Could add more context about the rules but overall adequate.
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?
No parameters exist, so baseline is 4. Schema coverage is 100% (empty), and description adds no parameter info, which is acceptable.
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 states 'Returns the collection of all ParentalFilter rules', clearly indicating the action and resource. Differentiates from sibling tools like get_parental_filter_id by specifying 'all', but does not explicitly contrast.
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 or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_parental_filter_idA
Returns the ParentalFilter rule with the given id
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it is a read operation by stating 'Returns'. It also discloses possible error codes ('inval', 'exist', 'noent') giving some insight into failure modes. However, with no annotations provided, the description does not fully describe behavioral traits such as whether the operation is safe/read-only or any 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 extremely concise, using a single sentence to convey the main purpose followed by a list of error codes. Every element adds value, and the crucial information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one required parameter and an output schema (presumably documenting the return format), the description is sufficiently complete. It covers the operation, mentions error conditions, and with the output schema, the return value details are expected to be covered elsewhere.
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 0% description coverage, and the description merely echoes 'the given id' without adding any additional semantics (e.g., format, example, or range). The parameter name 'id' is generic, and no extra meaning is provided beyond what the schema already offers.
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 'Returns the ParentalFilter rule with the given id', specifying a concrete verb and resource. The name and sibling tools (e.g., get_parental_filter, get_parental_filter_id_planning) allow differentiation, as this tool targets a single rule by ID.
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?
While there is no explicit 'when to use' advice, the combination of the tool name and description implicitly guides the agent to use this tool when a specific filter ID is known. The context of sibling tools like get_parental_filter (listing all) and get_parental_filter_id_planning (planning for a filter) provides additional implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_parental_filter_id_planningB
Returns the ParentalFilterPlanning for the filter with the given id
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only mentions return of data and error codes. It does not disclose side effects, permissions, or behavior for missing ids beyond the error codes. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste. Efficiently conveys the core purpose but could include more detail without significant 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?
Output schema exists so return values are covered, but description lacks context about the role of ParentalFilterPlanning, how it relates to other parental filter tools, and any prerequisites. Adequate but not 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 has 0% coverage but only one parameter. Description adds that the id refers to a filter, providing minimal semantics. Baseline 3 for low coverage with simple param.
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 returns a ParentalFilterPlanning for a given filter id, which is specific and distinct from sibling tools like get_parental_filter and get_parental_filter_id.
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 siblings or any prerequisites. Lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_configB
Returns the current PvrConfig
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides a long list of error codes, which helps with troubleshooting. However, it does not disclose other behavioral traits such as idempotency, safety (read-only), or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is concise, but the extensive list of error codes is lengthy and detracts from clarity. While structured, the error codes could be better placed in a separate section or document.
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 get with no parameters and an output schema present, the description is minimal but adequate. It explains what it returns (current config) and lists possible errors, but could be more informative about the output structure.
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 no parameters and is 100% covered by the schema definition. The description adds no additional parameter meaning beyond stating it returns the current config, which aligns with the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the current PvrConfig. Among many get_* siblings, it is specific to PVR configuration, distinguishing it from others like get_pvr_finished or get_pvr_quota.
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. While the purpose is clear, there is no mention of when not to use it or which sibling might be more appropriate for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_finishedD
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral information such as side effects, permissions, or result format. The only content is error codes, which are more relevant to output interpretation than behavior. No annotations exist to compensate.
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 line of error codes) but at the cost of missing essential information. It is under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the minimal complexity (no parameters, no annotations, no output schema shown), the description should clearly state the tool's function. Listing error codes alone leaves the agent with no understanding of the tool's purpose or return value.
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?
Although there are no parameters, the description adds zero value. It does not clarify that the tool takes no input, nor does it explain the significance of the listed error codes in relation to 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 only lists error codes and does not state what the tool does (e.g., retrieve finished PVR recordings). It completely lacks a verb or resource specification, making it impossible to discern the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like get_pvr_finished_id or get_pvr_programmed. The error code list offers no contextual clues for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_finished_idD
Returns the requested Frecord
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It lists many error codes, which gives some insight into possible failures, but does not describe core behavior (e.g., read operation, required permissions, output structure). The error codes are listed without context, reducing clarity.
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 short but includes an excessively long list of error codes that dominates the content. The main statement is unclear, and the error list is not organized or summarized. It lacks conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown), the description does not explain the return value. It fails to define 'Frecord' or provide enough context for a simple one-parameter tool. The error codes are the only substantive information, but they are not sufficiently contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'id' parameter beyond the schema. It does not clarify what the ID represents (e.g., the specific finished recording identifier) or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Returns the requested Frecord' is vague and essentially restates the tool name 'get_pvr_finished_id' without clarifying what an 'Frecord' is. It does not distinguish this from siblings like get_pvr_finished (which likely returns a list) or get_pvr_programmed_id.
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. There is no mention of prerequisites, context, or scenarios where this should be used instead of other get_pvr_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_mediaC
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavior. It only lists error codes, omitting whether it is read-only, what it returns, or any 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 concise but lacks essential information about the tool's purpose. It is short but incomplete.
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 insufficient given the complexity and many sibling tools. It does not explain what 'pvr_media' refers to or how it differs from other PVR tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description does not need to add parameter semantics. The list of error codes is incidental and not about 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 only lists error codes and does not state what the tool does. The name 'get_pvr_media' suggests retrieving PVR media, but the description fails to explain the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like get_pvr_finished or get_pvr_programmed. The description offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_programmedD
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 side effects, required permissions, or return behavior. The list of error codes is a minimal hint but insufficient for understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but consists entirely of a list of error codes, which is not conciseness in a helpful sense. It is under-specified and does not earn its place as a useful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown) and no parameters, the description should at minimum explain the tool's purpose and return value. It fails entirely to provide sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and schema coverage is 100% (empty), so the baseline expectation is low. However, the description adds no meaning beyond the schema; it merely lists error codes without explaining what the tool returns or how it operates, so it fails to compensate.
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 only lists error codes, with no statement of what the tool does. The name 'get_pvr_programmed' suggests retrieving PVR programmed recordings, but the description fails to confirm or clarify this purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_pvr_programmed_id' or 'post_pvr_programmed'. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_programmed_idD
Returns the requested Precord
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only gives a list of error codes and the vague phrase 'Returns the requested Precord'. No information about side effects, permissions, or limitations 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?
The description is short but inefficient. It includes a long list of error codes that should be documented elsewhere. The core purpose is only 4 words, and key information is missing. Not front-loaded with essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (many sibling tools, an output schema), the description is completely inadequate. It does not define what a 'Precord' is, how the id relates to the resource, or what the output contains. The error code list is unhelpful without 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?
The schema has one required parameter 'id' of type string, but the description does not explain what this parameter represents (e.g., the PVR record ID). Schema coverage is 0%, so the description should compensate, but it fails to add any meaning.
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 says 'Returns the requested Precord' which is vague and unclear. 'Precord' is likely a typo or abbreviation not explained. There are sibling tools like get_pvr_finished_id and get_pvr_programmed, but no distinction is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only lists error codes but does not explain usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pvr_quotaD
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not state whether the operation is read-only, requires authentication, or has side effects. The error code list gives no behavioral insight beyond potential failures.
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 raw list of error codes, which is neither concise nor structured for an agent to quickly grasp purpose. It wastes space on details that belong in the output schema, leaving the core function unstated.
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?
Even with an output schema present, the description is wholly incomplete. It does not explain the tool's function, when to use it, or what the output represents. The agent cannot determine if this tool is relevant to a query.
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 no parameters (100% coverage baseline 3), but the description adds minimal value by listing error codes that may relate to output conditions. It does not explain what the tool returns or the meaning of 'quota', so it falls short of the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description fails to state what the tool does. It only lists error codes, leaving the purpose (getting PVR quota) implicit and unclear. No distinction from sibling tools like get_pvr_config or get_pvr_finished.
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 get_pvr_config or put_pvr_quota. The description provides no 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.
get_rrdD
Same as post request, but allowed without ‘settings’ permission
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only provides a vague comparison to a post request, which contradicts the 'get' naming implying read-only. No side effects or operational details are mentioned.
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 brief but relies heavily on external context (post_rrd) for meaning, reducing its effectiveness. It is concise in word count but not in clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a tool with an output schema but no parameters, the description should at least explain the purpose of 'rrd' and what the tool retrieves. It fails to do so, making it nearly useless without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the schema coverage is 100%, so the schema already conveys that no inputs are needed. The description does not add value here, but baseline is 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 states it is 'Same as post request' but does not explain what the post request does, leaving the tool's purpose ambiguous. It lacks a specific verb and resource description.
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 given on when to use this tool versus alternatives, such as post_rrd. The only hint is permission-related, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_configB
Get the StorageConfig
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full transparency. It helpfully lists error codes (e.g., not_found, invalid_disk), which alerts the agent to possible failures. However, it does not mention other behavioral traits such as side effects, authentication requirements, or that it is a read-only operation (implied by 'get' but not explicitly stated).
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: a single-purpose statement followed by a list of error codes. There is no wasted text. It is front-loaded with the purpose, and the error codes are clearly separated. 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 presence of an output schema (not shown but indicated), the description does not need to explain return values. However, it omits context about what StorageConfig represents or its relationship to other storage entities. The error codes add some completeness, but the overall context is minimal for an agent to fully understand when to invoke this 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 tool has no parameters, and schema coverage is 100%. The description does not need to add parameter information. It correctly avoids extraneous detail, and the lack of parameters is clear from both the schema and description.
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 'the StorageConfig'. The verb 'Get' and resource name directly convey the action. However, it does not differentiate from sibling tools like get_storage_disk or get_storage_partition, leaving ambiguity about what exactly StorageConfig encompasses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states what it does and lists error codes, but does not specify context, prerequisites, or when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_diskB
Returns the collection of all StorageDisk
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists several error codes (e.g., 'not_found', 'invalid_disk'), which gives insight into possible failure modes. However, it does not mention authentication, rate limits, or whether the operation is read-only, which are typical behavioral expectations for a 'get' 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 concise, with the purpose front-loaded in a single sentence. The error codes are appended. It is appropriately sized and avoids redundancy, though the error codes could be better structured (e.g., grouped by type).
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 parameters and an output schema, the description does not need to explain return values. It provides the core purpose and error codes. However, it lacks usage context (e.g., when to use vs. other storage tools) and does not address potential behaviors like pagination or the effect of missing disks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% (trivially). With no parameters, the description does not need to add parameter semantics. The baseline for 0 parameters is 4.
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 states 'Returns the collection of all StorageDisk', which clearly indicates the verb and resource. It distinguishes from siblings like get_storage_disk_id by implying it retrieves all disks, but does not explicitly differentiate from other storage-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_storage_disk_id or get_storage_partition. It does not specify any conditions or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_disk_idC
Returns the StorageDisk with the given id
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry full behavioral disclosure. It only states it returns a StorageDisk and lists error codes, but does not describe side effects, authentication needs, or what the return value includes. Minimal beyond purpose.
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: the first clearly states the function, and the second lists error codes. It is concise and front-loaded, though the error list could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description need not detail return values. However, it lacks information about prerequisites (e.g., valid id) and does not explain how this tool fits with siblings like 'get_storage_disk'. Error codes are helpful but insufficient 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?
The input schema has one parameter 'id' (string) with no description, and the tool description does not explain what the id represents or its expected format. Schema coverage is 0%, and the description adds nothing 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 uses the verb 'Returns' and specifies the resource 'StorageDisk' with the given id. It distinguishes from siblings like 'get_storage_disk' (likely returns all) and 'put_storage_disk_id' (updates), making the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The error codes hint at failure conditions but do not provide context for when to prefer this over sibling get tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_partitionB
Returns the collection of all DiskPartition
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It lists error codes, which is helpful, but does not state read-only nature, return format, pagination, or other behavioral traits. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, listing the resource and error codes. It is front-loaded with the main purpose. No redundant or unnecessary sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema (likely documenting return structure), the description lacks details on pagination, sorting, or result limits. Error codes are provided, but completeness is moderate for a collection 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 input schema has zero parameters and schema coverage is 100%. There are no parameters to describe, so the description adds no param info, which is acceptable. Baseline 4 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 it returns the collection of all DiskPartitions. The verb 'Returns' and resource 'collection of all DiskPartition' are specific. However, it does not explicitly differentiate from the sibling `get_storage_partition_id`, though the name implies a list vs. single partition.
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., `get_storage_partition_id`). The description is minimal, providing no prerequisites or context for invocation. A score of 3 reflects the absence of explicit usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_partition_idB
Returns the DiskPartition with the given id
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds error codes which inform about failure modes. However, it does not disclose read-only nature, authorization needs, or any side effects. The error codes provide modest transparency beyond a bare statement.
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 line for purpose, one line for error codes. Front-loaded with the key action. 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?
With an output schema present, return value explanation is not required. The error codes add completeness, but the missing parameter clarification and absence of usage context (e.g., relationship to get_storage_partition) leave gaps. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain what the 'id' parameter represents (e.g., format, prefix, or source). It merely says 'given id', providing no additional meaning.
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 returns a specific DiskPartition by ID, distinguishing it from sibling tools like get_storage_partition (list all partitions) or get_storage_disk_id (disk level).
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., get_storage_partition for listing all partitions). No exclusion criteria or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_switch_port_idA
Get the SwitchPortConfig for the given port id
Error codes: bad_port, bad_speed, bad_link, bad_mac_entry_type
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavior. It lists error codes (bad_port, bad_speed, bad_link, bad_mac_entry_type), indicating validation, but does not disclose side effects, permissions, or response structure. With no annotations, this is adequate but not thorough.
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: one for the main action and one listing error codes. It is front-loaded with the primary purpose, no fluff, and 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?
For a simple get tool with one parameter and an output schema, the description covers purpose and error conditions. It does not detail the return object, but the output schema fills that gap. Missing handling of invalid IDs beyond error codes, but overall sufficient.
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 'id' is described as 'the given port id', adding basic meaning beyond the schema. However, with 0% schema coverage, the description could specify format, constraints, or examples. It minimally compensates.
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 the SwitchPortConfig for the given port id', specifying the verb (get), the resource (SwitchPortConfig), and the scope (by port id). This distinguishes it from siblings like get_switch_port_id_stats and get_switch_status.
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 the configuration of a specific port, but it does not explicitly state when to use or avoid this tool, nor mention alternatives. No guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_switch_port_id_statsA
Get the SwitchPortStats for the given port id
Error codes: bad_port, bad_speed, bad_link, bad_mac_entry_type
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists possible error codes (bad_port, bad_speed, etc.), which adds some transparency about failure modes. However, it does not state that the tool is read-only or describe any 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 extremely concise: one sentence for purpose, one line for error codes. No unnecessary words or repetition. Front-loads the key 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?
Given the tool's simplicity (single parameter, output schema present), the description is adequate but could be more helpful. It describes what the tool does and lists error codes, but lacks context about the nature of stats (e.g., current vs. historical) or typical use cases.
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 0% description coverage for the 'id' parameter. The description clarifies that it is 'the given port id', adding minimal but necessary context. No format or constraints are specified, so it partially compensates for the schema 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 'Get' and the resource 'SwitchPortStats for the given port id'. It distinguishes from siblings like 'get_switch_port_id' by specifying 'stats', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidelines are provided. The description does not indicate when to use this tool versus alternatives (e.g., get_switch_port_id) or mention prerequisites. Error codes hint at potential issues but do not guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_switch_statusB
Return the list of swith port status SwitchPortStatus
Error codes: bad_port, bad_speed, bad_link, bad_mac_entry_type
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In the absence of annotations, the description adds error code examples (bad_port, bad_speed, etc.), which provide some insight into failure modes. However, it does not disclose other behavioral traits like idempotency, permissions required, or data freshness, leaving gaps for a read-only 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 brief (one sentence plus error codes) but contains a typo ('swith'). It is front-loaded with the purpose, but the typo and lack of structure reduce clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists (though not shown), the description is incomplete in explaining the return structure. The error codes add some context, but the overall specification is sparse for a get 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?
There are no parameters, so the schema coverage is trivially 100%. Per guidelines, 0 parameters warrants a baseline of 4. The description adds no parameter info, but none is needed.
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 states it returns a list of switch port statuses (SwitchPortStatus), which is specific and aligns with the tool name. It distinguishes from siblings like get_switch_port_id (which targets a single port) by implying the overall status list, but does not explicitly differentiate.
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 get_switch_port_id or get_switch_port_id_stats. The error codes hint at potential issues but do not help in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_systemC
Get the SystemConfig
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Get', implying a read operation, but provides no details on authentication, rate limits, or data freshness. Inadequate for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), earning conciseness points. However, it lacks necessary information such as scope and behavioral details, making it under-specified. It earns its place but could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and zero parameters, the description is minimally complete. However, it fails to explain what 'SystemConfig' includes or any implications of retrieving it. Sibling tools often have more descriptive explanations, making this insufficient for confident 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?
There are zero parameters, so the description does not need to add parameter meaning. According to calibration, baseline is 4 for 0-parameter tools. The description is sufficient in this aspect.
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 states the verb 'Get' and resource 'SystemConfig', clearly indicating the tool's purpose. However, it does not differentiate from sibling get_* tools like get_connection_config, leaving ambiguity about the specific scope of 'SystemConfig'.
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, and no exclusion criteria. The description offers 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.
get_uploadD
Error codes: invalid_request, path_not_found, access_denied, destination_conflict, invalid_id, cancelled
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only lists potential error codes without explaining the tool's behavior, such as what it retrieves, side effects, or permissions required.
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 but omits essential information about the tool's function. It is under-specified rather than concise, and does not front-load the 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?
Despite having an output schema, the description fails to explain what the tool does. Given the complexity of the domain and many sibling tools, the description is severely incomplete and unhelpful.
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 zero parameters, so schema coverage is 100% trivially. The description does not add param semantics, but with no parameters the baseline is 4. The error codes listed are not related to 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 only lists error codes and does not state what the tool does. There is no verb or resource identifier, making it impossible to determine the tool's purpose from the description alone.
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, what prerequisite knowledge is needed, or how it differs from sibling tools like get_upload_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upload_idC
With this API you can track the progress of your FileUpload task
Error codes: invalid_request, path_not_found, access_denied, destination_conflict, invalid_id, cancelled
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies a read operation (tracking progress) but does not explicitly state read-only nature, auth requirements, or side effects. Error codes hint at failure conditions but insufficient for 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?
Two succinct sentences: one for purpose, one for error codes. No unnecessary fluff. Front-loaded with core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (content unknown), description lacks essential context: param format, expected behaviour of tracking, or relationship to upload lifecycle. Incomplete for a single-param 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?
Input schema has one required parameter 'id' with no description. Schema description coverage is 0%, yet description does not explain what 'id' refers to (e.g., upload ID). Falls short of compensating for schema 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?
Description states 'track the progress of your FileUpload task', which is a specific verb and resource. However, it does not explicitly distinguish from sibling tools like 'get_upload' (which likely lists uploads) or clarify that this tool retrieves details for a single upload by ID.
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. The sibling list includes many get_ and delete_ tools, but description offers no context for selection. Error codes are provided but irrelevant for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upnpav_configA
Get the UPnPAVConfig
Error codes: internal_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It merely indicates a read operation ('Get') and mentions an error code, but does not elaborate on permissions, side effects, or other behavioral traits. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and to the point. It includes error codes, which is useful. For a simple getter with no parameters, this level of conciseness is acceptable, though it could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the return structure is documented. The tool is trivial (no inputs, simple read), so the description, combined with the schema, provides adequate context for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema coverage is trivially 100%. The description adds no parameter info, but since none exist, it does not detract. Baseline for 0 parameters is 4.
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 the UPnPAVConfig', which is a specific verb and resource. It distinguishes itself from sibling tools like get_upnpigd_config by naming a unique config.
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 get_upnpigd_config or other configuration getters. The description lacks any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upnpigd_configB
Get the UPnPIGDConfig
Error codes: disabled, noent
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits. It only lists error codes ('disabled', 'noent'), which is helpful but insufficient. It does not mention that the tool is a read-only, side-effect-free operation, nor does it describe response size or latency. The minimal transparency leaves the agent guessing.
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 plus error codes. Every word serves a purpose. It front-loads the action and resource, and the error codes are directly relevant. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and an output schema is present, the description is adequate. It identifies the action and resource, and error codes. However, it could briefly note that the output provides configuration details. The completeness is high for the complexity level.
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?
There are no parameters, so the input schema already documents all required info. The description adds no param information, which is acceptable since there is nothing to add. Baseline 4 is appropriate due to 100% coverage and no 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 'Get the UPnPIGDConfig', indicating a read operation on a specific resource. It distinguishes from the sibling 'put_upnpigd_config' (update). However, it does not define what UPnPIGDConfig is, relying on the tool name's self-descriptiveness.
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. The description only provides error codes, but no context about prerequisites, typical use cases, or situations to avoid. The error codes hint at failure modes but lack actionable direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upnpigd_redirA
Get the list of UPnPRedir redirections
Error codes: disabled, noent
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden but only offers minimal behavioral info. It mentions possible error codes ('disabled', 'noent') but does not detail read-only nature, response format, or any safety considerations. For a simple list operation, it is adequate but not rich.
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 concise: one sentence plus error codes. It is front-loaded and efficient, though the error code line could be integrated. 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 that there are no parameters and an output schema exists (not shown), the description is minimal but functional. However, it does not explain what the output contains beyond being a list, leaving some gap for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema coverage is 100%, so the description does not need to explain parameter semantics. Baseline of 4 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 retrieves the list of UPnPRedir redirections. It uses a specific verb ('Get') and resource ('list of UPnPRedir redirections'), distinguishing it from siblings like 'delete_upnpigd_redir_id' and 'get_upnpigd_config'.
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. In a large set of sibling tools, there is no mention of typical use cases or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_number_address_url_email_idB
Returns the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It mentions error codes ('noent', 'exists', 'no_match'), which is helpful for understanding possible failures. However, it does not disclose side effects, permissions, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the main action. It could be slightly more informative without adding length, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values are covered. The description provides error codes but lacks broader context about the data model (e.g., what a ContactNumber is) and how this tool fits into the system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should clarify parameter meaning. It only says 'with the given id' without specifying what the id refers to (e.g., contact number ID, URL ID?). This leaves ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Returns the ContactNumber with the given id', providing a verb and resource. However, the resource type 'ContactNumber' is not explained and may be ambiguous; the tool name suggests URL, number, address, email.
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. The description does not provide context, prerequisites, or alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpnC
Get the list of VPNServer
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It states the tool gets a list but does not mention whether it is read-only, requires authentication, or has side effects. The list of error codes hints at potential failures but does not explain behavior 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 very short with two lines: one for purpose and one for error codes. It is concise and gets to the point, though the error codes list feels arbitrary and could be better structured elsewhere. Still, it avoids 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 simple tool (no parameters) and presence of an output schema, the description does not provide enough context about the returned data, such as what fields are included or how to interpret the list. The error codes are partial and not fully explained, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema is trivially covered. The description adds no meaning beyond the schema, as it does not elaborate on what the list contains or how it is filtered. 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 'Get' and the resource 'list of VPNServer', indicating a list retrieval operation. However, it does not differentiate from sibling tools like get_vpn_client_config or get_vpn_connection, which could cause confusion for an AI agent selecting the right tool.
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?
There is no guidance on when to use this tool versus alternatives such as get_vpn_client_config or get_vpn_connection. The agent is left to infer from the tool name and parent context, which is insufficient for clear decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_client_configC
Get the list of VPNClientConfig
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 says 'Get the list' and lists error codes. It does not disclose safety (read-only is implied but not explicit), any side effects, or other behavioral traits. The error code list is unhelpful without context. Score 2 (minimal disclosure).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences. The first sentence is concise. The second sentence is a long list of error codes that does not help with tool selection or invocation. It adds noise without explanation. This is not earnestly concise; the list could be omitted or summarized. Score 3 (some waste).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (not shown) and no parameters, the description is still incomplete. It does not define what a VPNClientConfig is or clarify that this tool lists multiple configs (as opposed to get_vpn_client_config_id). The error code list is vague. Overall, it lacks essential context for an agent to use it correctly. Score 2 (minimal 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 tool has zero parameters, and the input schema is empty (100% coverage). The description adds no parameter semantics, but the baseline for 0 parameters is 4. The error code list does not relate to 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 states 'Get the list of VPNClientConfig', which is a clear verb and resource. However, it does not distinguish from the sibling tool get_vpn_client_config_id, which presumably retrieves a single config by ID. According to the scoring criteria, this is a 4 (clear but no sibling differentiation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it. With a sibling get_vpn_client_config_id, the description should indicate that this tool is for listing all configs, not a single one. Score 2 (no guidance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_client_config_idC
Get the VPNClientConfig
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It lists error codes but does not explain that the tool is read-only, what the response structure is (though an output schema exists), or any side effects. The error code list is not clearly tied to behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but the error code list is dense and not well-structured. It could be more concise by removing the error list or presenting it in a cleaner format. Front-loading is minimal.
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, output schema exists), the description is incomplete. It fails to explain the tool's purpose relative to similar VPN tools, the meaning of the 'id' parameter, and how the error codes relate to the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The required parameter 'id' is not described at all (e.g., what it represents, format). The description adds no meaning 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 states 'Get the VPNClientConfig' which is a clear verb+resource, but it is essentially a tautology of the tool name. It does not differentiate from the sibling tool 'get_vpn_client_config' which likely retrieves all configurations vs. this one retrieving by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_vpn_client_config' or 'get_vpn_client_status'. There is no mention of context, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_client_logD
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only lists error codes and does not explain what the tool does, its effects, or prerequisites.
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, but it is not useful. It concisely lists error codes but omits the tool's actual purpose, making it insufficient.
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?
Despite having an output schema, the description does not explain the tool's purpose or when to use it. It is completely inadequate for understanding the 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 input schema has no parameters, but the description does not add meaning beyond this. It fails to explain the tool's functionality or how it operates.
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 only lists error codes without stating what the tool does. It fails to indicate that this tool retrieves VPN client logs, making the purpose entirely unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention use cases or contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_client_statusB
Get the VPNClientStatus
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes a list of error codes, which provides some insight into possible failure modes. However, with no annotations, it does not disclose other behavioral traits such as authentication requirements, side effects, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. The first sentence is somewhat redundant with the tool name, but the error code list provides useful information without excessive 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?
For a simple status retrieval tool without parameters, the description is adequate but lacks contextual guidance to distinguish it from sibling tools like get_vpn_client_config or get_vpn_connection. The output schema exists but is not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description need not add parameter details. The baseline for zero parameters is 4, and the description appropriately omits parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get the VPNClientStatus', which clearly identifies the resource and action. However, it does not distinguish this tool from sibling tools like get_vpn_client_config or get_vpn_connection, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, 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.
get_vpn_connectionD
Get the list of VPNUser
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only lists cryptic error codes without explaining behavior, return format, or side effects. Fails to disclose what the tool actually does beyond a vague 'get list'.
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 short but lacks clarity. The error code list is unhelpful without context. The description is concise but not informative, violating the principle that every sentence must earn 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?
Despite having an output schema, the description fails to explain the purpose or output. It is incomplete for an agent to correctly understand and invoke the tool, especially given ambiguous phrasing.
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?
No parameters exist, so schema coverage is 100%. The description adds no parameter information, but this is acceptable given zero parameters. However, it misses the opportunity to explain what the tool returns.
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 says 'Get the list of VPNUser', but the tool name is 'get_vpn_connection', creating confusion about whether it returns VPN users or VPN connections. This mismatch undermines purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus related siblings like get_vpn, get_vpn_client_config, or get_vpn_user. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_download_config_server_name_loginA
Download an OpenVPN configuration file for the given server and login WARNING: each time you download a new configuration file for a particular user, you invalidate previous configuration file emitted for this user
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| server_name | Yes | ||
| login | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It warns that each download invalidates previous config for that user, a key behavioral trait. It also lists error codes. However, it does not mention permissions or other 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 concise: one sentence plus a warning and error codes. It is front-loaded with the main action. The inclusion of error codes may be slightly extraneous, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown), the description does not need to detail return values. It covers purpose, side effect, and errors. It could be more complete by mentioning typical file format or size, but it's sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It only says 'for the given server and login', mapping the two parameters to server_name and login but providing no format or constraints. This is minimal added 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 states 'Download an OpenVPN configuration file for the given server and login', clearly specifying the action and resource. It is specific enough to distinguish from many sibling tools, though not explicitly differentiating.
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 includes a warning about invalidating previous configs for the same user, which is a usage constraint. However, it does not provide guidance on when to use this tool versus other VPN-related tools, nor does it list prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_ip_poolD
Gets the VPNUser with the given login
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any behavioral detail beyond a vague action. It mentions error codes but does not explain what they mean or when they occur. No annotations are provided to compensate. The tool's behavior is unclear.
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 brief but fails to convey essential information. The error code list adds little value and is not structured properly. Important details are missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool name and description mismatch, and no output schema details are provided (though context signals indicate an output schema exists), the description is incomplete. It does not help an AI agent understand what the tool returns or how to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, but the description implies a 'login' parameter is needed. This inconsistency adds confusion. Schema coverage is 100% but with no params, the description should clarify that no arguments are required, but it does not.
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 states 'Gets the VPNUser with the given login' but the tool name is 'get_vpn_ip_pool' and the input schema has no parameters, making it impossible to provide a login. This contradiction makes the purpose unclear and misleading.
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 usage guidelines are provided. The description does not indicate when to use this tool versus the many sibling tools (e.g., get_vpn_user, get_vpn_client_config).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_userC
Get the list of VPNUser
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only mentions error codes but does not clarify side effects, authentication needs, or output structure. The tool is likely read-only, but this is not confirmed.
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 (two sentences) and front-loaded with the purpose. The error code list is somewhat extraneous but not verbose. Could be improved by removing error codes to a separate field if needed.
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 parameters and an output schema, the description is minimally adequate. However, it lacks context about what a VPNUser is, how the list is ordered, or any filtering capabilities. More context would help in a toolset with many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is fully covered. The description adds no extra parameter meaning, but the baseline for no parameters is 4. The phrase 'list of VPNUser' implies multiple users, which is slightly informative.
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 states 'Get the list of VPNUser', which indicates a retrieval operation but is vague (e.g., does it return all users or a specific subset?). It does not differentiate from sibling tools like get_vpn_user_login or get_vpn_client_config, which also involve VPN users.
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. The description lacks any context of prerequisites, typical use cases, or exclusions. The error code list is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_user_loginB
Gets the VPNUser with the given login
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It lists error codes, which adds useful behavioral info about possible failures. However, it does not explicitly state that the operation is read-only or describe the expected response structure beyond error codes.
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 with two sentences: one for the main purpose and one for error codes. It is efficient and directly to the point, but the error code list could be formatted better.
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 presence of an output schema, the description need not explain return values. However, it does not mention that this is a retrieval operation or provide context on the scope of results. The error codes are helpful but not sufficient 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?
The input schema has 0% description coverage, so the description must compensate. It only says 'with the given login', adding no additional meaning, format, or constraints beyond what the schema already shows (required string).
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 gets a VPN user by login. The verb 'Gets' and resource 'VPNUser' are specific. However, it does not explicitly differentiate from siblings like 'get_vpn_user' or 'delete_vpn_user_login', but the login parameter in the name provides distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It only describes what it does without context on prerequisites or when it should be preferred over other VPN user operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vpn_vpn_id_configC
Get the VPNServerConfig
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| vpn_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are absent, the description must convey behavioral traits. It states the action (get, implying read-only) and lists possible error codes, but does not disclose any side effects, authorization requirements, rate limits, or what happens on failure beyond error codes. The description adds minimal behavioral context beyond the obvious.
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, consisting of one line and an error code list. While it is concise, it omits necessary information, making it under-specified rather than efficiently brief. The error code list is structured but not essential for core 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 the output schema exists, the description needn't detail return values, but it fails to explain the tool's role among many VPN-related siblings. It does not clarify what a VPNServerConfig is, how vpn_id is used, or how this differs from get_vpn_client_config or other similar tools. The completeness is insufficient for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain the parameter 'vpn_id'. It does not: the description only says 'Get the VPNServerConfig', leaving the parameter's meaning and format entirely unspecified. No value is added beyond the schema 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 states 'Get the VPNServerConfig', which clearly indicates the tool returns a VPN server configuration. However, it does not differentiate from similar sibling tools like get_vpn_client_config or get_vpn_connection, which also retrieve VPN-related configurations.
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, no context about appropriate scenarios, and no mention of prerequisites or exclusions. The error codes list is the only extra information, but it does not help in deciding usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_apA
Get the list of Freebox Access Points WifiAp
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists many error codes, adding some transparency about failure conditions, but does not disclose traits beyond a simple read operation. Since annotations are absent, the description carries the full burden but is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and efficient, with one main sentence and an error code list. It is front-loaded but could be slightly more streamlined (e.g., remove redundant 'WifiAp').
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 presence of an output schema, the description adequately covers the tool's purpose and potential errors. It is complete for a simple get tool with no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters (schema coverage 100%), the baseline is 4. The description adds no parameter info, but none is needed. The error codes are response-related, not parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the list of Freebox Access Points WifiAp' uses a specific verb and resource, clearly distinguishing it from siblings like get_wifi_ap_id which targets a single AP.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_wifi_ap_id, get_wifi_bss). The description lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_ap_idB
Get the WifiAp with the requested id
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It lists numerous error codes, hinting at possible failure modes, but does not disclose other behavioral traits such as read-only nature, authentication requirements, or side effects. The error codes add some transparency but are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes an extensive list of error codes that are not explained, making it somewhat cluttered. It could be more concise by grouping error codes or providing common categories, but the overall length is acceptable.
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 an output schema present, the description does not need to detail return values, but it lacks context about what a WifiAp is, how the id relates to other tools, or prerequisites. The error codes are provided without explanation, reducing completeness for a tool with a specific resource.
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 0% description coverage for the 'id' parameter, and the description only repeats 'with the requested id' without adding definition, format, or example. This leaves the parameter meaning vague, especially as a string without further context.
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 'WifiAp' with the parameter 'id', making the tool's specific action unambiguous. It effectively distinguishes from siblings like 'get_wifi_ap' which likely retrieves all APs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like 'get_wifi_ap' or other get_* tools. The purpose is implied by the name and description, but without explicit context or exclusions, the agent must infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_ap_id_allowed_channel_combB
Get the WifiAllowedComb for the given ap id
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes, which hints at potential issues, but does not disclose whether the operation is read-only, destructive, or requires specific permissions. Missing behavioral context beyond error codes.
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 (two sentences) and front-loaded with the purpose. The list of error codes is appended but adds useful detail without unnecessary verbosity. Every part 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 is simple (one parameter, output schema exists), the description provides basic purpose and error codes. However, it lacks any mention of prerequisites, side effects, or success criteria. Error codes partially compensate, but it is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the lone parameter 'id' by specifying it is 'the given ap id'. Since the schema provides no description coverage (0%), this clarification is valuable and helps the agent understand what to provide.
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 (WifiAllowedComb for the given ap id). It is specific and directly matches the tool name, though it does not differentiate from sibling tools like get_wifi_ap_id or get_wifi_ap_id_channel_usage.
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 context about prerequisites, use cases, or when not to use it. The description only states what it does without any comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_ap_id_channel_usageC
Get the list of WifiChannelUsage for the given AP
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 the function and error codes, but does not disclose whether the operation is read-only, requires authentication, or has side effects. The error code list is not behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a long list of error codes that may be unnecessary for agent decision-making. It is functional but could be more concise by omitting or abbreviating the error list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema. However, the description does not mention the output schema or explain what WifiChannelUsage contains. Context from siblings helps, but the description itself could be more 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?
There is a single required parameter 'id' with no schema description (0% coverage). The description does not explain what 'id' represents (likely the AP ID). With only one parameter, the description should clarify its semantics, but it fails to do so.
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 the list') and the resource ('WifiChannelUsage for the given AP'). It effectively distinguishes from sibling tools like get_wifi_ap_id_stations and get_wifi_ap_id_neighbors by specifying exactly what is retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists error codes, which are not usage guidelines. The agent must infer from the tool name and siblings, but the description itself lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_ap_id_neighborsC
Get the list of WifiNeighbor seen by the AP
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It lists error codes but doesn't explain meaning or when they occur. No mention of side effects, read-only nature (though implied by GET), or prerequisites. The tool likely reads data, but the description fails to confirm safety or behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with the main purpose front-loaded in one sentence. The error code list is appended but not structured. It would benefit from grouping or explaining codes, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool likely returns a list of neighbor objects (with output schema available), the description doesn't explain what 'WifiNeighbor' entails, format, or empty results. The error codes lack context. For a tool that queries network state, this is insufficiently 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 0%, so description must add meaning. The required parameter 'id' is not explained in the description. While the tool name includes 'ap_id', the description should clarify that 'id' refers to the AP identifier. Without this, the agent may misinterpret the parameter's role.
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 the list of WifiNeighbor seen by the AP', specifying the verb (get) and resource (WifiNeighbor list). This distinguishes it from sibling tools like get_wifi_ap (AP info) and get_wifi_ap_id_stations (stations). However, it's terse and the error code list adds no purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives (e.g., post_wifi_ap_id_neighbors_scan for scanning). There are no when-not-to-use instructions or context for choosing this over other get_wifi tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_ap_id_stationsC
Get the list of WifiStation associated to the AP
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full burden. It only states the basic operation and lists error codes without explaining their meaning. It does not disclose whether the operation is read-only, requires authentication, or the effects of invalid inputs. This is insufficient 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 very short (one sentence plus an unannotated error code list). The main sentence is front-loaded, but the error codes occupy space without explanation, reducing efficiency. It could be more concise by omitting the error code list or integrating it with explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter, the description lacks essential context: no output schema description, no read-only indication, no prerequisite conditions. Compared to sibling tools that often have richer descriptions, this one feels incomplete for guiding correct 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?
The input schema has one required parameter 'id' (string) with 0% description coverage. The description does not explain what 'id' represents (presumably the AP ID), nor does it provide format or constraints. The error code list does not clarify parameter semantics. The description adds no value 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 the tool's verb ('Get the list') and resource ('WifiStation associated to the AP'). It distinguishes from siblings like 'get_wifi_ap' and 'get_wifi_ap_id' by specifying the resource type (stations vs general AP info). However, the term 'WifiStation' is undefined, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many sibling tools for WiFi AP (e.g., get_wifi_ap_id, get_wifi_ap_id_channel_usage), the description fails to clarify the selection criteria or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_bssB
Get the list of Freebox Access Points WifiBss
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes but does not explain them, and omits critical details like whether the operation is read-only, requires authentication, or how pagination works. The behavior is largely 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 (one sentence plus error code list) and front-loaded. It wastes no words, but the error code list could be better structured (e.g., explained or grouped). Conciseness is high, but at the expense of completeness.
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?
Despite having an output schema, the description does not explain what the returned list contains (e.g., BSS objects with fields). No behavioral context like performance, caching, or limit behavior. For a tool with no annotations, the description is too sparse to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description does not need to add parameter meaning. The baseline is 4 (0 params). The description does not detract, but also does not add value regarding 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 retrieves a list of Freebox Access Points WifiBss. The verb 'get' and resource 'list of Freebox Access Points WifiBss' are specific, and it distinguishes from siblings like get_wifi_bss_id (which targets a single BSS) and other get_wifi_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_wifi_ap, get_wifi_bss_id). No prerequisites, context, or exclusions are provided. The description only states what it does, leaving the agent to infer usage from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_bss_idB
Get the WifiBss with the requested id
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry behavioral disclosure. It lists error codes, which helps with error handling, but doesn't mention response structure or side effects (though a get is inherently safe).
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: first states purpose, second lists error codes. The error code list is long but useful. Could be formatted better, but overall 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 simple get-by-ID tool with an output schema present, the description covers core action and error behavior. However, it doesn't explain what a 'WifiBss' is or what the output contains, assuming agent knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The lone parameter 'id' has no description in schema or description. The description doesn't clarify its format or semantics, leaving the agent to infer from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (WifiBss) by ID. It distinguishes from siblings like get_wifi_bss which lacks the id parameter, though not explicitly.
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 get_wifi_bss or put_wifi_bss_id. The error code list provides failure modes but no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_configB
Get the WifiGlobalConfig
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the operation is a get and lists error codes, missing details like authentication needs, response format, 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 very short and front-loaded with the purpose. The error code list is somewhat lengthy but provides useful context without excessive 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?
The tool is simple (no parameters, no annotations) and has an output schema. However, the description does not explain what 'WifiGlobalConfig' represents, limiting completeness for an agent unfamiliar with the system.
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?
There are no parameters in the input schema, so schema coverage is 100%. The baseline for zero parameters is 4, and the description adds no further param info (unnecessary).
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 specifies 'Get the WifiGlobalConfig', which is a clear verb+resource pair. It distinguishes from sibling tools like get_wifi_ap or get_wifi_bss by targeting a global configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The error code list offers some diagnostic info but does not explain usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_mac_filterB
Get the list of WifiMacFilter
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes, which provides some transparency about possible failures. However, with no annotations, it does not disclose if the operation is read-only or any side effects. The error codes are extensive but not explained for this specific 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 concise with a clear front-loaded purpose. However, the large list of error codes adds verbosity without clear relevance to this tool, slightly reducing 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?
While an output schema exists (not shown), the description does not explain what the list contains (e.g., filter IDs, rules). It is adequate for a simple get operation but leaves some ambiguity about the result content.
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 no parameters (100% coverage), so the baseline is 3. The description adds no additional parameter information, as none exist, but it does not clarify the output structure either.
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 retrieves the list of WiFi MAC filters. The tool name and description align, and it is distinct from sibling get_wifi_mac_filter_filter_id which targets a specific filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_wifi_mac_filter_filter_id. The description lacks context for making that choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_mac_filter_filter_idC
Returns the requested WifiMacFilter properties
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 does not explicitly state that this is a read-only operation or describe any side effects. The list of error codes adds some transparency (e.g., 'inval', 'noent'), but the behavior remains largely implicit.
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 brief with one functional sentence, but it includes a lengthy, unformatted list of error codes. While not overly verbose, the error list could be more compactly represented or referenced. The structure is functional but not particularly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has a single required parameter and an output schema (context signal), the description is minimal. It does not explain when to use this tool, what the output represents, or how filter_id relates to other resources. As a result, it lacks sufficient context for an AI agent to use it reliably.
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 only parameter, filter_id, is not described beyond being required. The description provides no context on its format, origin, or how to obtain it. With 0% schema coverage, the description should compensate but fails to do so.
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 'Returns the requested WifiMacFilter properties', indicating a specific retrieve operation on a single filter resource. This distinguishes it from siblings like 'get_wifi_mac_filter' (likely list all) and 'delete_wifi_mac_filter_filter_id' (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?
No guidance is provided about when to use this tool versus alternatives. It does not specify prerequisites or mention that the filter_id must exist. The user must infer usage from the tool name and parameter alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wifi_planningC
Get the list of WifiChannelUsage for the given AP
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes a list of possible error codes, providing some transparency. However, with no annotations, it does not disclose whether the tool is read-only, requires authentication, or has any 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 concise at the start but is followed by a lengthy list of error codes, which detracts from conciseness. The error codes could be summarized or placed in a separate section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters but an output schema exists. The description mentions the output type, but it does not explain how the AP is determined or how the output is structured, leaving some ambiguity.
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?
Although there are no parameters and schema coverage is 100%, the description misleadingly implies an AP parameter without providing one. The baseline is 3 for zero-parameter tools, but the misleading aspect reduces the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a list of WifiChannelUsage for a given AP. However, it does not distinguish itself from sibling tools like get_wifi_ap_id_channel_usage, and it ambiguously refers to 'the given AP' without any AP parameter in the input schema.
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. There are no exclusions or context provided about suitable scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_address_number_address_url_emailC
Creates the ContactNumber
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states 'Creates' without detailing side effects, required permissions, idempotency, or what happens on duplicate or missing required fields. The error codes hint at possible outcomes but are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is too brief (two lines) and lacks critical information about how the tool works. It is under-specified rather than concisely effective; every sentence should add value, but here the brevity harms clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (none required in schema, but likely functionally required), many siblings, and an output schema, the description is insufficient. It does not explain how to use the tool, what the output contains, or how to handle required fields despite the schema indicating none.
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 83%, so most parameters have adequate descriptions in the schema (e.g., type enum, is_default, is_own). The description adds no extra meaning beyond the schema, meeting the baseline expectation.
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 'Creates the ContactNumber' is vague and does not differentiate this tool from siblings like post_number_number_address_url_email or post_email_number_address_url_email. The tool name suggests it creates multiple types (address, number, URL, email) but the description only mentions ContactNumber, causing confusion.
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. The description only lists error codes (`noent`, `exists`, `no_match`) but does not explain their context or provide any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_airmedia_receviers_receiver_nameD
Error codes: unknown_target, no_client, set_pass, set_onscreen_code, no_ctrl, http, bad_session, bad_name, bad_device_id, bad_remote_id, req_in_progress, fetch, no_display, playback_state, no_slideshow_srv, no_mem, inout_file, no_volume_control, connect, unauthorized, unsupported_media, bad_type, unimplemented
| Name | Required | Description | Default |
|---|---|---|---|
| receiver_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided and description does not disclose any behavioral traits such as side effects, permissions, or return values.
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 list of error codes, which is not concise but rather irrelevant to 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?
With one parameter, 0% schema coverage, no output schema, and no annotations, the description is completely inadequate for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the 'receiver_name' 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 only lists error codes, not stating what the tool does. The name suggests posting to a receiver, but no verb or resource is described.
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 when-not-to-use, and no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_call_log_delete_allC
Remove all CallEntry call entries
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | id | |
| type | No | The valid call types are: — Values: `missed`: Missed incoming call; `accepted`: Incoming call; `outgoing`: Outgoing call | |
| datetime | No | Call creation timestamp. — Unix timestamp (seconds since epoch). | |
| number | No | Callee number for outgoing calls. Caller number for incoming calls. | |
| name | No | Callee name for outgoing calls. Caller name for incoming calls. | |
| duration | No | Call duration in seconds. | |
| new | No | Call entry as not been acknowledged yet. | |
| contact_id | No | If the number matches an entry in the contact database, the id of the matching contact. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
As a destructive action, the description lacks details on side effects, authorization, or irreversibility. Error codes are mentioned but not explained. No annotations to supplement.
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 includes error codes, which is efficient. However, the brevity sacrifices necessary detail, making it borderline under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with many optional parameters and destructive behavior, the description is insufficient. It does not explain parameter usage, return behavior (despite output schema), or operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description does not clarify how the 8 optional parameters interact with the 'delete all' behavior. The name suggests no filtering, but parameters imply possible selection, causing confusion.
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 all CallEntry call entries') and the resource, distinguishing it from single-entry delete tools like 'delete_call_log_id' by using 'all'.
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 (e.g., 'delete_call_log_id' for single entries) or any prerequisites. Error codes hint at potential issues but do not provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_call_log_mark_all_as_readC
Mark all CallEntry call entries as read
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | id | |
| type | No | The valid call types are: — Values: `missed`: Missed incoming call; `accepted`: Incoming call; `outgoing`: Outgoing call | |
| datetime | No | Call creation timestamp. — Unix timestamp (seconds since epoch). | |
| number | No | Callee number for outgoing calls. Caller number for incoming calls. | |
| name | No | Callee name for outgoing calls. Caller name for incoming calls. | |
| duration | No | Call duration in seconds. | |
| new | No | Call entry as not been acknowledged yet. | |
| contact_id | No | If the number matches an entry in the contact database, the id of the matching contact. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the action and error codes, omitting information on idempotency, side effects, required permissions, or whether parameters affect behavior. The description is insufficient for an agent to understand the tool's 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 very short and front-loaded with the purpose, but it lacks important details. Every sentence is used, but overall it is under-specified, which is not an efficient use of conciseness when critical information is missing.
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 moderate complexity (8 parameters, 0 required, no annotations, output schema exists), the description is too brief. It does not explain how the parameters interact with the 'mark all' action, leaving a gap for the agent. The presence of an output schema does not compensate for the incomplete behavioral and parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. However, the description adds no meaning beyond the schema and, critically, contradicts it by claiming 'mark all' while the schema offers parameters that presumably filter. This misleads the agent into thinking parameters may be ignored or are unnecessary, reducing clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Mark all CallEntry call entries as read', which names the action and resource. However, the input schema includes many parameters like 'new', 'duration', etc. that imply filtering, while the description says 'all'. This mismatch creates ambiguity about the actual scope, making purpose unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'post_call_log_delete_all' or 'get_call_log'. It mentions error codes but does not clarify the scope (all vs filtered) or prerequisites. The agent receives no direction on appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_contactB
Creates a new ContactEntry
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | contact id | |
| display_name | No | contact display name | |
| first_name | No | contact first name | |
| last_name | No | contact last name | |
| company | No | contact company name | |
| photo_url | No | contact photo URL | |
| last_update | No | contact last modification timestamp — Unix timestamp (seconds since epoch). | |
| notes | No | contact last modification timestamp | |
| addresses | No | list of contact postal addresses | |
| emails | No | list of contact email addresses | |
| numbers | No | list of contact phone numbers | |
| urls | No | list of contact URL |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It lists error codes ('noent', 'exists', 'no_match'), which partially discloses failure modes. However, it omits behavioral traits like idempotency, side effects, or authentication requirements. The error codes are useful but 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 very short (two lines) and front-loaded. It avoids unnecessary words but could be slightly more structured (e.g., bullet points for error codes). Overall, it is concise with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, nested arrays for addresses/emails/etc.) and the presence of an output schema, the description is incomplete. It does not explain the tool's capabilities (e.g., creating a full contact with sub-resources in one call) or provide guidance on the data structure. Error codes help but are insufficient for this rich schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the schema. It does not clarify relationships or important parameters (e.g., notes description is misleadingly identical to last_update in schema, but description doesn't address this). 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 'Creates a new ContactEntry', which is a specific verb+resource. It implicitly distinguishes from sibling tools like 'put_contact_id' (update) and 'post_address_number_address_url_email' (sub-resource creation). However, it does not explicitly differentiate itself from other post tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives (e.g., updating a contact via 'put_contact_id', creating sub-items via dedicated post tools). No 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.
post_dhcp_static_leaseD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits (e.g., that it creates a resource, requires authorization, or has side effects). Only error codes are listed, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is short, it is not appropriately sized because it omits essential information. Every sentence is wasted on a list of error codes without context.
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 DHCP static lease creation and the presence of many error codes, the description is completely inadequate. It fails to explain the tool's purpose, usage, or parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one optional 'body' parameter with additionalProperties, and schema description coverage is 0%. The description does not explain what the body should contain, leaving the agent without guidance on parameter 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 only lists error codes and does not specify what the tool does. The tool name suggests creating a DHCP static lease, but the description provides no verb or 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 alternatives like put_dhcp_static_lease_id. The description is entirely missing usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_addD
NOTE: instead of passing password and username you can include them in the URL.
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions error codes but does not explain the core behavior (e.g., creating a download, required authentication, or side effects). No annotations are present, so the description fails to compensate.
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 cluttered with a lengthy error code list and a note about authentication, lacking a concise statement of the tool's main function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not explain what the tool does, how to use it, or what inputs are required. It is severely 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 input schema has no parameters (100% coverage), but the description implies there are parameters like 'password' and 'username' without specifying them. This is confusing and undermines clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state that the tool adds a download task. It only provides a note about authentication and a list of error codes, leaving the purpose ambiguous.
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 post_downloads_blacklist or post_downloads_feeds. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_blacklistD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only lists error codes without explaining what triggers them or what the tool actually does.
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 short but not structured meaningfully. It is a raw list of error codes without context, which is not concise in a helpful sense.
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?
Despite low complexity (0 parameters), the description is completely inadequate. It provides no understanding of the tool's behavior or return value.
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?
There are no parameters, but the description adds no value. It fails to explain the tool's functionality, so it does not compensate for the lack of schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only lists error codes and does not state what the tool does. It lacks a verb and resource, making it impossible to understand the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_feedsC
Creates a new DownloadFeed .
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | id | |
| status | No | The feed can have the following status — Values: `ready`: feed is up to date; `fetching`: feed is updating; `error`: there was an error trying to refresh this feed, see error | |
| url | No | Feed URL | |
| title | No | Feed title (extracted from the RSS) | |
| desc | No | Feed description (extracted from the RSS) | |
| image_url | No | Feed image URL (extracted from the RSS) | |
| nb_read | No | Number of read items in the feed | |
| nb_unread | No | Number of unread items in the feed | |
| auto_download | No | If set to true, the downloader will automatically download new items | |
| fetch_ts | No | Last time the feed was fetched — Unix timestamp (seconds since epoch). | |
| pub_ts | No | Last time the feed was published on remote server — Unix timestamp (seconds since epoch). | |
| error | No | Error code (same as used in Download or DownloadFile ). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It mentions creation and error codes but omits side effects, permissions, or success response format. The existence of an output schema is not leveraged in the description.
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 brief and to the point, with no unnecessary sentences. However, it could be slightly more structured to include critical context.
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?
Despite having an output schema, the description lacks sufficient context for a tool with 12 optional parameters and many siblings. It does not explain required inputs or typical usage, leaving the agent underinformed.
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 parameter-level information beyond the schema, failing to clarify which parameters are essential or how they relate to creation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new DownloadFeed, which distinguishes it from siblings like 'post_downloads_feeds_fetch' and 'put_downloads_feeds_id'. However, it does not explicitly differentiate from other creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Error codes are provided but do not indicate prerequisites or typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_feeds_feed_id_items_item_id_downloadB
This method will enqueue the RSS item to the download list
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| feed_id | Yes | ||
| item_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the action (enqueue) and lists error codes, which helps with troubleshooting. However, it does not disclose side effects, permissions needed, success behavior, or reversibility. It adds some value but is incomplete.
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: one sentence stating the purpose followed by error codes. It is front-loaded with the core action. However, it could be more structured (e.g., separate sections for behavior and errors), but overall it is not 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 (enqueue an item from a feed), the description is somewhat complete. It lacks details on success response, preconditions (e.g., feed must exist), and any side effects. The error codes help but do not cover all missing aspects. Without output schema or annotations, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions. The description does not explain what feed_id and item_id represent beyond the tool name and context. The agent must infer their meaning from the name 'RSS item' and URLs. This adds minimal value over the parameter names.
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: 'enqueue the RSS item to the download list'. It specifies the verb 'enqueue' and the resource 'RSS item', and the target 'download list'. This distinguishes it from sibling tools like post_downloads_add (adds generic download) and get_downloads_feeds_feed_id_items (lists items).
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. It only describes what it does and lists error codes. No when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_feeds_feed_id_items_mark_all_as_readC
This method will mark each items as read
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| feed_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose all behavioral traits. It only lists error codes (e.g., feed_not_found) but does not describe the mutation effect, required permissions, or side effects. The error code 'feed_is_recent' hints at a condition but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) but lacks structure. The error codes are listed inline without formatting. It is front-loaded with the purpose but the brevity sacrifices completeness.
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 (1 param, no output schema), the description is incomplete. It omits behavioral context, usage guidance, and parameter details. Adding a sentence about when to use and what happens would significantly 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?
The description adds no information about the 'feed_id' parameter. With 0% schema coverage, the description must compensate, but it does not explain what the parameter represents or how to obtain it.
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 states 'mark each items as read', which clearly indicates the action and resource. However, it could be more precise (e.g., 'Mark all items in the specified feed as read') and does not differentiate from sibling tools like post_call_log_mark_all_as_read or put_downloads_feeds_feed_id_items_item_id.
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 usage guidelines are provided. There is no mention of when to use this tool versus alternatives (e.g., updating individual items, downloading items), nor any prerequisites or conditions for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_feeds_fetchA
Remotely fetches all the RSS feeds.
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions error codes but lacks details on side effects, destructiveness, rate limits, or whether it modifies state. The word 'fetches' implies a read-like operation but it's a POST, suggesting mutation.
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 with two sentences, no filler. Front-loaded with primary action, then lists error codes. 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?
For a tool with no parameters and no output schema, the description adequately covers the action and common errors. However, it could mention return format or prerequisites 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?
No parameters exist; schema coverage is 100%. Per rubric, zero parameters baseline is 4. Description adds no param info, but none is needed.
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 it 'remotely fetches all the RSS feeds', using a specific verb and resource. It distinguishes from sibling tools like post_downloads_feeds_id_fetch (which fetches a specific feed) by emphasizing 'all'.
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 post_downloads_feeds_id_fetch or get_downloads_feeds. Lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_feeds_id_fetchA
Remotely fetches the RSS feed and updates it. Note that if the remote feed specifies a TTL, trying to update before the ttl will result in feed_is_recent error
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool performs a remote network fetch and updates the feed, and warns about TTL-based errors. This is transparent for a simple operation, though it doesn't mention auth or rate limits.
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: two sentences and a list of error codes. It is front-loaded with the primary action and adds only essential details. 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?
The description covers the main action and constraints but omits the return value format or any success response information. Since there is no output schema, this information would be valuable for an agent to parse results. Still, for a simple tool with one parameter, it is minimally 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 schema has 0% description coverage, and the description does not add any semantic information about the 'id' parameter beyond its implicit meaning from the tool name. No clarification on format, constraints, or allowed values.
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: 'Remotely fetches the RSS feed and updates it.' It uses a specific verb and resource, and the error codes further clarify the purpose. It distinguishes from sibling tools like get_downloads_feeds_id (read-only) and post_downloads_feeds (create feed).
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 context: it warns about the TTL constraint and lists error codes, implying when the tool can be used successfully. However, it does not explicitly compare to alternatives like post_downloads_feeds_fetch or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_downloads_task_id_trackersD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed beyond error codes. The tool's effect (adding trackers) is implied by the name but not described. No annotations exist to compensate.
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 but entirely uninformative. It is not structured to convey tool purpose or usage.
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 parameter explanations, the description is completely inadequate. Among siblings, it fails to differentiate this tool from related tracker endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the meaning or constraints of the task_id 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 only lists error codes and does not state the tool's purpose. The name suggests it adds trackers, but this is not confirmed in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like put_downloads_task_id_trackers_announce or delete_downloads_task_id_trackers_announce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_email_number_address_url_emailC
Creates the ContactNumber
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only lists error codes (noent, exists, no_match), which hint at existence checks but lack details on idempotency, prerequisites, or success behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short (two lines), but under-specified. Error codes listed without explanation. Could be improved by integrating error code context into the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool name's complexity and many siblings, the description is incomplete. It does not explain the tool's scope (e.g., why 'email' in name), parameter relationships, or return value, despite having an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so most parameters are described in the schema. The description adds no extra meaning or clarification, especially for the 'number' parameter which lacks schema description.
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 states 'Creates the ContactNumber', but the tool name includes 'email', 'address', 'url', and 'email', leading to confusion. The resource mentioned does not match the name, making the purpose vague and potentially misleading.
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 like post_address_number_address_url_email or post_number_number_address_url_email. No context or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_freeplug_id_resetC
reset the given Freeplug
Error codes: inval, nomem, nosta, nopeer
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | Freeplug unique id | |
| local | No | if true the Freeplug is connected directly to the Freebox | |
| net_role | No | Values: `sta`: Freeplug Station; `pco`: Freeplug proxy coordinator; `cco`: Central coordinator | |
| model | No | Freebox Server netbios name | |
| eth_port_status | No | Values: `up`: The ethernet port is up; `down`: The ethernet port is down; `unknown`: The ethernet port state is unknown | |
| eth_full_duplex | No | ethernet link is full duplex | |
| has_network | No | is connected to the network | |
| eth_speed | No | ethernet port speed | |
| inactive | No | seconds since last activity | |
| net_id | No | network id | |
| rx_rate | No | rx rate (from the freeplugs to the “cco” freeplug) (in Mb/s) -1 if not available | |
| tx_rate | No | tx rate (from the “cco” freeplug to the freeplugs) (in Mb/s) -1 if not available |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses error codes but does not explain what happens during reset (e.g., network disruption, data loss, auth requirements). For a potentially destructive operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (two lines) but lacks structure. It could be more concise if it were more informative; currently it is under-specified rather than concise. Every sentence should earn its place; the error code list is helpful but not contextualized.
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 13 parameters and an output schema (not shown), the description is too sparse. It fails to explain what parameters are used, what the output indicates, or how to interpret error codes. The tool does not account for the complexity of the input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning; it does not indicate which parameters are relevant for the reset action (e.g., local, net_role seem irrelevant). 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 states 'reset the given Freeplug', which is a verb+resource indicating the tool resets a Freeplug device. However, it is vague—'reset' could mean factory reset, reboot, or something else. Error codes are listed but do not clarify the purpose. No differentiation from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., other Freeplug tools like get_freeplug_id or put_wifi_ap_id). No context on prerequisites or when a reset is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_archiveD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits, but it only lists error codes. It does not mention destructiveness, authentication needs, or any 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 long list of error codes, which is not a proper description. It is not concise or structured to aid understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool likely performs archiving (inferred from name), but the description provides no context about its function, return values, or behavior, making it completely 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 input schema has no parameters, so schema coverage is 100%. However, the description adds no meaning about the tool's operation; it merely lists error codes irrelevant to parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a list of error codes with no statement of what the tool does. It fails to convey any purpose or 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?
No guidance is provided on when to use this tool versus alternatives. The context includes many sibling tools, but the description offers no differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_catD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any behavioral context beyond a list of error codes. No annotations are provided, and the description does not disclose side effects, permissions, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely sparse, consisting solely of an error code list. While it is short, it does not achieve conciseness; it omits essential information about the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a POST operation likely interacting with filesystem) and lack of output schema details, the description is completely inadequate. An agent cannot determine how to invoke or interpret the 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?
Although there are no parameters, the description does not add any meaning beyond the empty input schema. It fails to clarify that no input is required or what the tool expects.
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 only lists error codes and does not state what the tool does. It fails to provide a verb or resource, making it impossible for an agent to understand the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list includes similar post_fs tools (cp, mv, rm), but no differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_cpD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers no behavioral information aside from error codes. There are no annotations, so the description carries full burden, which it fails to meet.
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 consists solely of a long, unstructured list of error codes. It is not concise and does not front-load 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 is extremely incomplete for a complex operation like a filesystem copy. No information about input, output, behavior, or prerequisites 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?
The input schema has no parameters (0 params, 100% coverage). The description adds a list of error codes but does not explain any parameter meaning or usage, which is irrelevant here. Baseline 3 is reduced due to complete lack of useful parameter context.
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 does not state what the tool does; it only lists error codes. The name 'post_fs_cp' suggests a filesystem copy, but the description fails to confirm this.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like post_fs_mv or post_fs_rename.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_extractD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed. There are no annotations, and the description only lists error codes without explaining what triggers them or what the tool does.
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 run-on list of error codes with no structure, no front-loading of key information, and no sentences defining 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?
Given the complexity (a file extraction operation) and the lack of useful description, the tool is completely inadequate for an AI agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, but the description adds no meaning. It does not explain how to invoke the tool or what implicit inputs might be needed.
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 does not state what the tool does. It only lists error codes with no verb, resource, or context. It fails to differentiate from sibling tools like post_fs_archive or post_fs_cat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks any context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_hashD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description gives no behavioral details such as whether it modifies state, requires authentication, or its 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?
While short, the description is not conciseness but under-specification: it is a list of error codes with no explanation, making it useless.
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 an output schema (not shown), but without any description of purpose or behavior, the description is wholly inadequate for the agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though there are no parameters (schema coverage 100%), the description adds zero insight into what the tool does, leaving the agent completely uninformed.
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 only lists error codes and does not state what the tool does. It fails to convey that 'post_fs_hash' likely computes a hash of a file or path.
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 other post_fs_* tools (e.g., post_fs_cat, post_fs_cp) or any context about prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_mkdirD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility for disclosing behavior. It only lists error codes without explaining their significance or any side effects (e.g., whether mkdir is destructive, requires specific permissions, or returns a result).
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 line of error codes, which is not concise in a helpful way. It wastes space without conveying the tool's core function or usage, making it inefficient for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (file system operation) and lack of output schema or annotations, the description is severely incomplete. It fails to explain what the tool does, how to use it, or what to expect, which is essential for correct 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?
The input schema has no parameters (0 required, 0 optional, 100% coverage). The description fails to add any meaning beyond the schema; listing error codes is irrelevant to parameter semantics and provides no help.
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 only lists error codes and does not state what the tool does. The name 'post_fs_mkdir' suggests creating a directory, but the description fails to confirm this, leaving the purpose entirely unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_fs_ls_path or post_fs_rm. There is no mention of context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_mvD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses no behavioral traits. Only error codes are listed, which does not explain side effects, permissions, or operational details. No annotations are present to supplement.
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 but misuses space by listing error codes instead of a functional summary. It is not appropriately structured for tool selection or invocation.
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?
Despite sibling tools providing context, the description fails to explain the operation, required inputs, or outputs. With no output schema details and empty input schema, the tool is severely under-described.
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 zero parameters, so baseline could be 3, but description adds no value. Listing error codes does not clarify parameter usage or expected inputs.
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 consists entirely of a list of error codes and does not state what the tool does. The name 'post_fs_mv' suggests a file move operation, but the text provides no explicit purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description lacks any indication of when to use this tool versus alternatives like post_fs_cp or post_fs_rm.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_renameD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. It only lists error codes, which is insufficient for understanding side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but fails to structure information usefully. It is just a list of error codes with no purpose statement or usage context, making it under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, annotations, and a meaningful input schema, the description is completely inadequate. A rename tool requires much more context (e.g., source/destination paths, conflict behavior) than a list of error codes.
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 no properties, and schema coverage is 100%, so the baseline is 3. The description adds no meaningful parameter information beyond what the schema already indicates (i.e., no parameters), but the lack of parameters is suspicious for a rename operation.
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 does not state what the tool does; it only lists error codes. The name 'post_fs_rename' suggests renaming filesystem items, but the description provides no verb or resource to confirm this.
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 'post_fs_mv' or 'post_fs_cp'. The description lacks any situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fs_repairD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 (e.g., whether it triggers a repair, requires special permissions, or has side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but severely under-informative. It is a single sentence listing error codes without any functional explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters but has an output schema, the description should explain the tool's purpose and operation. It completely fails to do so, providing only a list of possible errors.
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?
There are no parameters, so baseline 4 is possible, but the description fails to add any context about what the tool does with zero parameters. It merely lists error codes, which adds no semantic 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 only lists error codes and does not state what the tool does. The name 'post_fs_repair' suggests filesystem repair, but the description provides no verb or 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 vs. alternatives. The error code list gives 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.
post_fs_rmD
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No description of behavior (e.g., what is removed, permissions needed, side effects). Only error codes, which are output-related, not behavioral.
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?
Concise but not helpful; a list of error codes does not aid agent understanding and is not well-structured for selecting the 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?
With no description of purpose or parameters, the tool is incomplete for an agent to use correctly, despite having output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema covers 100%. Baseline 3 per rule, but description adds no parameter meaning.
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 only lists error codes, no statement of what the tool does. Name suggests file system removal, but no explicit purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like delete_* tools or other post_fs_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_fw_redirC
Create a PortForwardingConfig
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | forwarding id | |
| enabled | No | is forwarding enabled | |
| ip_proto | No | Values: `tcp`: TCP; `udp`: UDP | |
| wan_port_start | No | forwarding range start | |
| wan_port_end | No | forwarding range end | |
| lan_ip | No | forwarding target on LAN | |
| lan_port | No | forwarding target start port on LAN, (last port is lan_port + wan_port_end - wan_port_start) | |
| hostname | No | forwarding target host name | |
| host | No | forwarding target host information (see: LanHost ) | |
| src_ip | No | if src_ip == 0.0.0.0 this rule will apply to any src ip otherwise it will only apply to the specified ip address | |
| comment | No | comment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 says 'Create a PortForwardingConfig' and lists error codes, but does not mention required permissions, whether it is idempotent, what happens on duplicate, or the structure of the response. Given the lack of annotations, this is insufficient for behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short: one line for the action and one line for error codes. It is concise but arguably too terse, missing important context. It does not waste words, but could be more informative while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 11 parameters and presence of an output schema, the description is minimal. It does not explain how this tool fits into the firewall rule management context, what the output schema contains (though not required per rules), or any prerequisites. The error codes list some failure modes but not all possible outcomes.
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 each parameter described. The description adds no additional parameter information beyond what is in the schema. According to calibration, when schema coverage is high, the baseline is 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 states 'Create a PortForwardingConfig', which is a specific verb+resource. Among siblings, get_fw_redir, put_fw_redir_redir_id, and delete_fw_redir_redir_id exist, but the description does not explicitly differentiate from them. However, 'Create' implies it is for creation, making the purpose clear but lacking sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description only lists error codes ('noent', 'internal_error', 'exist') which hint at failure conditions but do not guide when to use this tool versus alternatives like put_fw_redir_redir_id for updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_lan_wol_interfaceD
Send a wake on LAN packet to the specified host with an optional password
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
| interface | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lists error codes but fails to clarify success behavior, permissions, or side effects. The mention of optional password contradicts the schema, reducing trust.
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 with error codes, but lacks param documentation. Concise but incomplete and misleading.
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?
Fails to define the crucial 'interface' parameter or explain its format. No output schema or result description. Agent cannot reliably invoke the 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 'interface' parameter has no description in schema (0% coverage) and description does not explain it. Instead describes non-existent parameters (host, password), providing no semantic 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 states it sends a WoL packet to a host with optional password, but the only required parameter is 'interface', not host or password. This mismatch between description and schema creates confusion about the tool's actual purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings (many other post_* tools) or alternatives. No prerequisites or context mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_number_number_address_url_emailC
Creates the ContactNumber
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It only lists error codes ('noent', 'exists', 'no_match'), providing minimal insight into behavior. Does not disclose side effects, authentication needs, or other traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two lines) but includes error codes which is useful. However, it lacks structure and could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters and an output schema, the description is too minimal. It does not explain the return value (though output schema may cover it), prerequisites, or how parameters relate. Incomplete for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 83% of parameters with descriptions, so the description adds no additional meaning. 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 'Creates the ContactNumber' clearly states the action (create) and resource (ContactNumber), distinguishing it from other post tools that create different resources. However, it does not explicitly differentiate from similar siblings like post_address_number_address_url_email.
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 conditions, 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.
post_parental_filterC
Add a parental filter rule
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only lists error codes ('inval', 'exist', 'noent') which hint at validation and existence checks, but does not state that this is a creation (mutating) operation, nor does it mention idempotency, permissions, 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 very short, but it includes error codes which add value. However, it is under-specified and omits critical information, so it is not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the tool's role in a family of parental filter operations, the description should explain what the body should contain and what the response represents. The current description is insufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single body object with additionalProperties: true and no required fields. Schema description coverage is 0%, so the description should explain what fields the body can contain. It does not, leaving the agent with no guidance on how to construct the request.
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 'Add a parental filter rule', which matches the POST verb and resource. Among siblings like get_parental_filter, put_parental_filter_id, etc., this tool is uniquely for creation. However, the description does not explicitly distinguish itself from other POST tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No prerequisites, context, or exclusion criteria are mentioned. The user is left to infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_pvr_programmedC
Create a new Precord ** Example request**: ** Example response**:
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | precord id | |
| media | No | media name on which the record will be written to. See the Media API for more info. This property and can be empty when the file backing the record is not available, for example when secure is set. | |
| path | No | destination directory on the media storage where the record will be written to | |
| has_record_gen | No | if true, this precord has been generated using a Generator | |
| record_gen_id | No | if has_record_gen, this is the id of the generator | |
| conflict | No | if true this record may conflict with another record | |
| overlap_list | No | in case of conflict, this will contain the list of records id that may conflict with this record | |
| enabled | No | it only applies to generated records. If false the generated precord will be skipped. | |
| altered | No | a precord is altered when some part of the recording may be missing. This can be the case if a conflict occurred during the recording (or connection was down) | |
| state | No | Values: `disabled`: disabled; `start_error`: failed to start; `waiting_start_time`: scheduled; `starting`: starting; `running`: running; `running_error`: running with error; `failed`: failed; `finished`: finished | |
| error | No | ||
| channel_uuid | No | channel uuid | |
| channel_name | No | optional channel name | |
| channel_quality | No | ||
| channel_type | No | Values: `‘’ (empty string)`: auto; `iptv`: use only iptv streams; `dvb`: use only dvb streams | |
| name | No | record name | |
| subname | No | record subname | |
| broadcast_type | No | ||
| start | No | record start timestamp | |
| end | No | record end timestamp | |
| legacy_uri | No | only used for legacy apps. Use channel_uuid instead when available NOTE: only visible when called from player | |
| force_channel_name | No | only used for legacy apps. Use channel_uuid instead when available NOTE: only visible when called from player |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only lists error codes but does not disclose any behavioral traits such as side effects, required permissions, or data validation rules. Since no annotations are provided, the description should detail these aspects.
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 contains unhelpful placeholders like '** Example request**' and '** Example response**' with no actual content. The error code list is useful but poorly integrated, making the structure weak.
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 22 parameters and no required fields, the description fails to explain what constitutes a valid request or how to construct it. The error code list is beneficial but does not compensate for the lack of usage 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 coverage is 86%, so most parameters have descriptions in the schema. The description does not add additional meaning or context for the parameters beyond what is already provided.
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 states 'Create a new Precord', which identifies the action and resource, but 'Precord' is not clearly defined and could be ambiguous. It does not differentiate from other post tools or specify what is being created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like put_pvr_programmed_id or get_pvr_programmed. There is no mention of 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.
post_rrdD
post_rrd
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description gives no behavioral information (e.g., side effects, required permissions, or response format). For a mutation tool, this is a critical omission.
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 word) but at the cost of meaningful information. This is underspecification, not efficient clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completely inadequate. Despite zero parameters, the tool's purpose and behavior are entirely opaque, especially given the existence of a sibling 'get_rrd' 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 input schema has no parameters, so schema coverage is 100%. Baseline is 3, and the description adds nothing 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?
Tautological: description restates name/title.
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., 'get_rrd' for reading). Description provides no context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_system_rebootB
Reboot the Freebox
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 merely restates the tool's name without mentioning important aspects like system downtime, authentication requirements, or irreversible 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 very concise, consisting of a single sentence that is front-loaded and direct. However, it sacrifices completeness for brevity.
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 (no parameters, no output schema), the description is minimal but lacks critical context such as side effects or system behavior after reboot. More detail is needed for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the input schema is empty. According to guidelines, zero parameters have a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose 'Reboot the Freebox' with a specific verb and resource. There are no sibling tools with similar functionality, so it distinguishes effectively.
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 usage guidance is provided. The description does not indicate when to use this tool or mention any alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_url_number_address_url_emailC
Creates the ContactNumber
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It lists error codes ('noent', 'exists', 'no_match') which hint at outcomes, but fails to disclose whether the operation is destructive, idempotent, or requires existing resources. Inadequate 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 extremely short (two lines) and wastes no words, but it lacks substance. While concise, it sacrifices clarity and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and many sibling tools, the description is insufficient. It doesn't explain the tool's role in the broader API, fails to mention return structure (despite output schema existence), and doesn't clarify which type of contact resource is created.
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 83%, so most parameters are described in the schema. The description adds no extra meaning, but the high coverage baseline justifies a 3. No parameter semantics are added 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 states 'Creates the ContactNumber', which is too narrow given the tool's name includes 'url', 'number', 'address', 'email'. It doesn't clarify what entity is created, leading to ambiguity. The purpose is vague and doesn't distinguish from sibling tools like 'post_address_number_address_url_email'.
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 usage guidance provided. The description lacks any indication of when to use this tool versus alternatives (e.g., 'post_number_number_address_url_email'). No prerequisites or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_vpn_client_configB
Creates a new VPNClientConfig .
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | VPN config id | |
| description | No | VPN description | |
| type | No | VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server | |
| active | No | is this configuration active. Only one configuration is active at a time. | |
| conf_pptp | No | only available when type is PPTP | |
| remote_host | No | remote host IP or name | |
| username | No | VPN username | |
| password | No | VPN password | |
| mppe | No | Values: `disable`: disable mppe; `require`: require mppe; `require_128`: require 128 bits mppe | |
| allowed_auth | No | allowed authentication methods dictionnary with following keys: |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must reveal behavioral traits. It lists error codes, hinting at possible failures (e.g., 'exist' for duplicates). However, it does not mention that only one active configuration is allowed (schema does), nor permissions or idempotency.
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 brief with one action sentence and a list of error codes. It is front-loaded but the long list could be summarized or grouped. 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?
Given the tool's complexity (10 parameters, 0 required, nested objects, output schema present), the description covers the basic creation action but lacks context about the creation process, such as whether an ID is generated or how the 'active' constraint is handled.
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 input schema fully describes all 10 parameters. The description adds no additional parameter information; the error code list is not parameter-specific.
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 ('Creates a new VPNClientConfig') and identifies the resource. However, it does not differentiate from the sibling tool 'put_vpn_client_config_id' which updates an existing config.
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 instead of alternatives like 'put_vpn_client_config_id' or what prerequisites are needed. The error code list is given but does not constitute usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_vpn_userC
Creates a new VPNUser .
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| login | No | VPN user login | |
| password | No | VPN user password (length must be between 8 and 32) | |
| password_set | No | True if a password was provided for this user | |
| ip_reservation | No | You can specify the IP you want to assign to this user. If you don’t want to use a specific IP pass an empty string or omit this property. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description lists error codes (e.g., 'exist', 'inval') which give some feedback on failure modes, but it does not disclose required permissions, side effects, rate limits, or whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: two sentences with no redundancy. The error code list is structured but could be formatted more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown), the description does not need to explain return values. However, it lacks post-conditions or validation hints beyond error codes, which is adequate but not rich.
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% description coverage, so the baseline is 3. The description adds no extra meaning to parameters beyond what the schema already 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 'Creates a new VPNUser' with a specific verb and resource. It also lists error codes for additional context. However, it does not distinguish from related sibling tools like post_vpn_client_config, which creates a different type of VPN 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 alternatives (e.g., put_vpn_user_login for updating users). No context on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_wifi_ap_id_neighbors_scanB
Launch a wifi scan on given ap
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the action but does not describe side effects, duration, or return behavior beyond listing error codes. The error codes list lacks context on when each occurs.
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?
Very short and front-loaded with the action. The error codes list is somewhat cluttered but not overly long. Efficient, though could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple parameters, the description lacks key contextual details such as what the tool returns (e.g., results of scan, job ID) and how to interpret the scan results. Incomplete for an agent to fully understand the 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 description mentions 'given ap', which directly implies the parameter 'id' is the access point identifier. With schema coverage at 0%, this adds meaning beyond the schema. However, it does not explicitly state that the parameter is the AP 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 'Launch a wifi scan on given ap' clearly states the action (launch a wifi scan) and the resource (given ap). It is specific and distinguishes from sibling tools like get_wifi_ap_id_neighbors.
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., get_wifi_ap_id_neighbors). No prerequisites or exclusions mentioned. The description only states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_wifi_config_resetC
Crate a new the WifiMacFilter
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | filter id | |
| mac | No | MAC address to filter | |
| comment | No | comment | |
| type | No | Values: `whitelist`: if mac_filter is set to whitelist this station will be allowed; `blacklist`: if mac_filter is set to blacklist this station will be rejected | |
| hostname | No | host name when available | |
| host | No | host information when available |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 fails to disclose whether the tool performs a destructive reset or a creation. The word 'Crate' (typo for 'Create') contradicts the 'reset' in the name, creating confusion. No mention of side effects, permissions, or idempotency.
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 but contains a list of error codes that distracts from the main purpose. The purpose is not front-loaded; it starts with a vague statement. Every sentence should add value, but the error codes are not explained in context.
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 (6 params, nested objects, output schema exists), the description is insufficient. It does not explain what the tool does (reset vs create), what the output contains, or how the error codes relate to the operation. The schema coverage is high but the description adds little 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?
The input schema has 6 parameters with complete descriptions (100% coverage). The description does not add any additional meaning beyond what the schema already provides; it only lists error codes unrelated to parameters. 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 says 'Crate a new the WifiMacFilter' which is grammatically poor and vague. It suggests creating a Wi-Fi MAC filter, but the tool name 'post_wifi_config_reset' implies resetting configuration. This mismatch reduces clarity. No specific verb-resource pair is clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'post_wifi_mac_filter'. The description does not mention context, prerequisites, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_wifi_mac_filterC
Crate a new the WifiMacFilter
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | filter id | |
| mac | No | MAC address to filter | |
| comment | No | comment | |
| type | No | Values: `whitelist`: if mac_filter is set to whitelist this station will be allowed; `blacklist`: if mac_filter is set to blacklist this station will be rejected | |
| hostname | No | host name when available | |
| host | No | host information when available |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 creation and lists error codes without explaining their implications. It does not describe idempotency, side effects, or what happens on duplicate filters.
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 not concise; it has a one-line purpose with a typo and then a lengthy list of error codes that could be in a separate field. The structure is poor and wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 optional parameters, nested objects) and the existence of an output schema, the description lacks context about parameter relationships, return values, or typical usage scenarios. It is incomplete for effective decision-making.
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 baseline is 3. The description adds no extra meaning beyond the already detailed parameter descriptions in the schema. The error code list is not about parameter syntax.
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 'Crate (Create) a new WifiMacFilter', which identifies the action and resource. However, the typo 'Crate' reduces clarity slightly, and it does not differentiate from sibling 'post' tools or the update tool 'put_wifi_mac_filter_filter_id'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., update or delete). There are no prerequisites, conditions, or scenarios mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_address_number_address_url_email_idB
Updates the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes ('noent', 'exists', 'no_match'), which hint at failure modes, but provides no other behavioral details like idempotency, side effects, or required permissions. Without annotations, more transparency is expected.
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: one for purpose and one for error codes. It avoids unnecessary fluff, though more detail could be included 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?
Despite having an output schema, the description fails to explain what 'ContactNumber' is, its relationship to address and contact IDs, or how the various parameters interact. The tool is moderately complex (7 params) but the description is too sparse.
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 86%, and the description adds no additional meaning to parameters. The baseline score is appropriate as the schema already describes most parameters adequately.
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 the tool updates a ContactNumber by ID. It provides a clear verb and object, though the tool name is inconsistent with the description, which may cause confusion.
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 given on when to use this tool versus sibling tools like put_number_number_address_url_email_id or put_email_number_address_url_email_id. There is no context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_airmedia_configB
Update the current AirMediaConfig
Error codes: unknown_target, no_client, set_pass, set_onscreen_code, no_ctrl, http, bad_session, bad_name, bad_device_id, bad_remote_id, req_in_progress, fetch, no_display, playback_state, no_slideshow_srv, no_mem, inout_file, no_volume_control, connect, unauthorized, unsupported_media, bad_type, unimplemented
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | Enable/Disable the airmedia server | |
| password | No | If not empty, the client will have to enter a password to be able to use this airmedia server |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It lists error codes but does not explain their meaning, nor does it disclose whether the operation is destructive, requires authentication, or has side effects. The list of error codes without explanations is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a long, unexplained list of error codes that may bloat the text. While the core sentence is concise, the error codes add unnecessary length without clear benefit, reducing effectiveness.
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 only two optional parameters and an output schema exists, the description should at least explain what 'update' entails (e.g., partial update, overwrite? effects of enabling/disabling). It does not provide enough context for safe usage, 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?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema; it only provides error codes, not parameter 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 clearly states 'Update the current AirMediaConfig', specifying the action (update) and the resource (AirMediaConfig). This distinguishes it from sibling tools like get_airmedia_config (read) and other put_* tools for different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for appropriate use. It simply 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.
put_call_log_idC
Updates the CallEntry task with the given id
Error codes: internal_error, invalid_id
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | id | |
| type | No | The valid call types are: — Values: `missed`: Missed incoming call; `accepted`: Incoming call; `outgoing`: Outgoing call | |
| datetime | No | Call creation timestamp. — Unix timestamp (seconds since epoch). | |
| number | No | Callee number for outgoing calls. Caller number for incoming calls. | |
| name | No | Callee name for outgoing calls. Caller name for incoming calls. | |
| duration | No | Call duration in seconds. | |
| new | No | Call entry as not been acknowledged yet. | |
| contact_id | No | If the number matches an entry in the contact database, the id of the matching contact. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It only mentions error codes and the fact that it updates, lacking details on partial updates, idempotency, side effects, or validations.
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 concise with one sentence and error codes. No unnecessary text, but it could be slightly more structured with additional context.
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 9 parameters and an output schema, the description is too sparse. It does not explain the effect of updates, whether partial updates are allowed, or any constraints.
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 error codes but no additional parameter information beyond what the schema already 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 it updates a CallEntry task by ID, using a specific verb and resource. It differentiates from sibling tools like delete_call_log_id and get_call_log_id by indicating a write operation. However, the phrase 'CallEntry task' is slightly ambiguous and could be more precise.
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 specify prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_connection_configC
Updates the ConnectionConfiguration
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
| ping | No | should the Freebox respond to external ping requests | |
| is_secure_pass | No | is the admin password secure enough to enable remote access | |
| remote_access | No | enable/disable HTTP remote access | |
| remote_access_port | No | port number to use for remote HTTP access | |
| remote_access_min_port | No | This field indicate the minimum possible value for remote_access_port (see ConnectionStatus ipv4_port_range) | |
| remote_access_max_port | No | This field indicate the maximum possible value for remote_access_port (see ConnectionStatus ipv4_port_range) | |
| remote_access_ip | No | IPv4 to use for remote access (can be missing if connection is down) | |
| api_remote_access | No | is remote access enabled for apps, or share link | |
| wol | No | enable/disable Wake-on-lan proxy | |
| adblock | No | is ads blocking feature enabled | |
| adblock_not_set | No | if set to true adblock setting has never been set by the user | |
| allow_token_request | No | if false, user has disabled new token request. New apps can’t request a new token. Apps that already have a token are still allowed |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes but does not disclose behavioral traits such as idempotency, side effects, or required permissions. With no annotations provided, the description fails to communicate important behavioral context beyond the update action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is concise, but it includes a list of error codes that, while potentially useful, may not be the most critical information. The structure could be improved by front-loading usage context.
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 12 parameters and no required fields, the description lacks context on how to use the parameters effectively, what the output schema returns, or typical use cases. The presence of an output schema does not compensate for this lack of guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 12 parameters. The tool description adds no additional 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 clearly states the tool updates the ConnectionConfiguration, specifying the action and resource. However, it does not differentiate this from sibling put tools like put_connection_ddns_provider, which also modify connection settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only includes error codes but does not mention prerequisites, when to apply, or exclude scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_connection_ddns_providerC
Set the DDNSConfig
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | ||
| enabled | No | ||
| hostname | No | dns name to use to register | |
| password | No | password to use to register | |
| user | No | username to use to register |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only lists error codes without explaining behavior. It does not disclose whether settings are merged or replaced, what happens on failure, or if there are side effects (e.g., service restart). The error codes hint at possible issues but are not contextualized.
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 the error code list is not integrated into the narrative. It is concise but misses important information that would make it earn 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 5 parameters, an output schema (exists but not shown), and the complexity of DDNS configuration, the description is too sparse. It does not explain what DDNSConfig encompasses, how the tool interacts with the system, or any required prior states.
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 60% (hostname, password, user have descriptions; provider and enabled do not). The description adds no extra meaning beyond the schema—no details about provider values, enabled default, or parameter constraints. It fails to compensate for the 40% undocumented 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 says 'Set the DDNSConfig', which clearly indicates the verb (set) and resource (DDNSConfig). However, it does not differentiate itself from sibling tools like put_connection_config or get_connection_ddns_provider, missing an opportunity to clarify its specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., need to have DDNS configured), no caution about overwriting existing config, and no mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_connection_ipv6_configC
Updates the ConnectionIpv6Configuration
Error codes: inval, nodev, noent, netdown, busy, invalid_port, insecure_password, invalid_provider, invalid_next_hop
| Name | Required | Description | Default |
|---|---|---|---|
| ipv6_enabled | No | is IPv6 enabled | |
| ipv6ll | No | Freebox IPv6 link local address | |
| delegations | No | list of IPv6 delegations |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes (e.g., 'inval', 'busy'), which adds some transparency about failure modes, but it does not disclose mutation behavior, idempotency, 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 very short (one line) with a list of error codes. It is concise but lacks structure; the error codes are useful but not integrated into a clear narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a mutation tool with an output schema (not shown), the description is incomplete. It does not explain whether updates are partial or full, what the return value is, or any prerequisites. The error codes provide some context but not enough for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters. The tool description itself adds no additional meaning beyond the schema descriptions, so it meets 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 specifies 'Updates the ConnectionIpv6Configuration', which is a clear verb+resource pair indicating the tool's function. However, it does not differentiate from sibling tools like get_connection_ipv6_config, which focuses on reading.
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, no prerequisites, and no context on effects. It simply states the action without any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_contact_idB
Updates the ContactEntry with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | contact id | |
| display_name | No | contact display name | |
| first_name | No | contact first name | |
| last_name | No | contact last name | |
| company | No | contact company name | |
| photo_url | No | contact photo URL | |
| last_update | No | contact last modification timestamp — Unix timestamp (seconds since epoch). | |
| notes | No | contact last modification timestamp | |
| addresses | No | list of contact postal addresses | |
| emails | No | list of contact email addresses | |
| numbers | No | list of contact phone numbers | |
| urls | No | list of contact URL |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It adds error codes ('noent', 'exists', 'no_match'), which give insight into potential failure modes. However, it does not disclose update semantics (e.g., merge vs replace), idempotency, side effects, or required permissions. The error codes are helpful but not comprehensive.
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 for the action and one line for error codes. It is front-loaded and every part is necessary. No wasted words, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, nested objects in schema), the description is sparse. It does not explain update behavior (e.g., whether missing fields are zeroed out) or how to use nested sub-objects. The presence of an output schema partially compensates, but more context would be beneficial for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it only mentions 'with the given id' referring to the path parameter. No additional semantics for other parameters are provided.
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 'Updates the ContactEntry with the given id', using a specific verb and resource. It identifies the resource by path parameter, distinguishing it from sibling tools like post_contact (create) and delete_contact_id (delete). However, it could be more precise about which fields are updatable, though the schema provides full parameter descriptions.
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, no prerequisites, and no exclusions. It simply states it updates a contact, without mentioning cases where get or post should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_dhcp_configC
Update the current DhcpConfig
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | Enable/Disable the DHCP server | |
| sticky_assign | No | Always assign the same IP to a given host | |
| gateway | No | Gateway IP address | |
| netmask | No | Gateway subnet netmask | |
| ip_range_start | No | DHCP range start IP | |
| ip_range_end | No | DHCP range end IP | |
| always_broadcast | No | Always broadcast DHCP responses | |
| dns | No | List of dns servers to include in DHCP reply |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only states 'Update' and lists error codes, but does not disclose behavioral traits such as whether configuration changes require a restart, impact on active DHCP leases, or any destructive 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 very concise with no fluff, and front-loads the purpose. However, the error code list could be more structured or linked to specific conditions.
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 8 parameters and no required ones, the description is too sparse to be complete. It lacks information on return values (though output schema exists), typical usage flow, and how to interpret error codes. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter names and descriptions; the error code list is separate and does not clarify parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update the current DhcpConfig', specifying the verb and resource. It is distinct from siblings such as get_dhcp_config or put_dhcp_static_lease_id, but no explicit differentiation is provided.
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, no prerequisites, and no context on the effects of updating DhcpConfig. Error codes are listed but not explained in a usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_dhcp_static_lease_idD
Error codes: inval, inval_netmask, inval_ip_range, inval_ip_range_net, inval_gw_net, exist, nodev, noent, netdown, busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only lists possible error codes, which is partially transparent but omits side effects, auth requirements, or whether the operation is destructive. The error codes hint at potential failures but lack 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 extremely short (one line of error codes), but this is underspecification, not conciseness. It fails to provide any meaningful information about the tool's purpose or usage.
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 lack of output schema, nested body parameter, and many sibling tools, the description is severely incomplete. It does not explain the tool's role, input semantics, or appropriate contexts, making it nearly useless for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (id and body) with 0% schema description coverage. The description adds no explanation of what 'id' represents (likely the lease ID) or what 'body' contains (lease properties). This is a critical 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 only lists error codes and does not state the tool's purpose. It fails to indicate that this tool updates a DHCP static lease, which is essential for an agent to understand its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus siblings like 'post_dhcp_static_lease' or 'delete_dhcp_static_lease_id'. The context for usage is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_configC
Updates the DownloadConfiguration
| Name | Required | Description | Default |
|---|---|---|---|
| max_downloading_tasks | No | max concurrent download tasks | |
| download_dir | No | the default path where downloads will be stored (base64 encoded) | |
| watch_dir | No | special folder that will be monitored. When a new supported file (.nzb, .torrent) is copied in that folder, the task is automatically added to the download queue. | |
| use_watch_dir | No | if set to false, the watch_dir will not be monitored | |
| throttling | No | throttling configuration | |
| news | No | newsgroups configuration | |
| bt | No | bittorrent configuration | |
| feed | No | RSS feed configuration | |
| blocklist | No | block list configuration | |
| dns1 | No | dns server ip to use for downloader (leave blank for default dns server) | |
| dns2 | No | dns server ip to use for downloader |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'Updates', but does not disclose whether it performs a full replacement or partial merge, whether changes take effect immediately, or require a restart. This is insufficient for a complex configuration 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 extremely concise (one sentence). While no wasted words, it may be too terse given the complexity of the tool; a bit more context would be beneficial.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, nested objects, no output schema), the description is incomplete. It lacks information about the nature of the update (partial vs full), error handling, and effects on the system.
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 all parameter descriptions are in the schema. The description adds no additional semantics beyond what the schema provides, meeting the baseline but not enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool updates the DownloadConfiguration, using a specific verb and resource. However, it does not differentiate from sibling tools like put_downloads_id or put_downloads_throttling, which update specific aspects of downloads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_downloads_config to read first, or other put_ tools for specific sub-configurations). There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_feeds_feed_id_items_item_idD
Returns the collection of all DownloadFeedItems for a given DownloadFeed
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| feed_id | Yes | ||
| item_id | Yes | ||
| id | No | id | |
| status | No | The feed can have the following status — Values: `ready`: feed is up to date; `fetching`: feed is updating; `error`: there was an error trying to refresh this feed, see error | |
| url | No | Feed URL | |
| title | No | Feed title (extracted from the RSS) | |
| desc | No | Feed description (extracted from the RSS) | |
| image_url | No | Feed image URL (extracted from the RSS) | |
| nb_read | No | Number of read items in the feed | |
| nb_unread | No | Number of unread items in the feed | |
| auto_download | No | If set to true, the downloader will automatically download new items | |
| fetch_ts | No | Last time the feed was fetched — Unix timestamp (seconds since epoch). | |
| pub_ts | No | Last time the feed was published on remote server — Unix timestamp (seconds since epoch). | |
| error | No | Error code (same as used in Download or DownloadFile ). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Returns' implying a read operation, but PUT typically mutates. No annotations are provided, so the description carries full burden but fails to disclose mutation, permissions, or side effects. It directly contradicts the HTTP method implied by the tool name.
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 short but the single sentence is misleading about the tool's behavior. Error codes are listed but do not compensate for the incorrect purpose. The structure does not front-load a correct verb-resource combination.
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 fails to convey that this is an update tool (PUT) and incorrectly describes it as a return operation. Considering the complexity (14 parameters, output schema exists) and lack of annotations, the description is severely incomplete and inaccurate.
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 86%, so the input schema already describes parameters well. The description adds no additional parameter meaning beyond the schema, meeting baseline expectations.
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 states 'Returns the collection of all DownloadFeedItems for a given DownloadFeed,' which describes a GET operation, but the tool name starts with 'put_' indicating an update. This contradiction makes the purpose unclear and misleading.
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 'get_downloads_feeds_feed_id_items' (GET). The description does not clarify its role as an update operation, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_feeds_idB
Updates the DownloadFeed task with the given id
Error codes: feed_not_found, item_not_found, feed_is_recent, internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | id | |
| status | No | The feed can have the following status — Values: `ready`: feed is up to date; `fetching`: feed is updating; `error`: there was an error trying to refresh this feed, see error | |
| url | No | Feed URL | |
| title | No | Feed title (extracted from the RSS) | |
| desc | No | Feed description (extracted from the RSS) | |
| image_url | No | Feed image URL (extracted from the RSS) | |
| nb_read | No | Number of read items in the feed | |
| nb_unread | No | Number of unread items in the feed | |
| auto_download | No | If set to true, the downloader will automatically download new items | |
| fetch_ts | No | Last time the feed was fetched — Unix timestamp (seconds since epoch). | |
| pub_ts | No | Last time the feed was published on remote server — Unix timestamp (seconds since epoch). | |
| error | No | Error code (same as used in Download or DownloadFile ). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states 'Updates' and lists error codes. It does not describe side effects, idempotency, partial update behavior, or required permissions. For a mutation tool, this is insufficient to inform the agent about the consequences of 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 extremely concise, containing only one line for the purpose and a list of error codes. It is front-loaded with the core operation. Every piece of information is relevant and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the existence of an output schema and many parameters, the description is minimal. It does not explain which fields can be updated, what the response looks like (though output schema exists), or prerequisites. For a tool with 13 parameters and a mutating effect, the description lacks critical 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 coverage is 100%, so the input schema already documents all parameters with descriptions. The description adds no additional meaning, context, or relationships between parameters. Per guidance, baseline is 3 when schema coverage is high, and no extra value is provided.
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 'Updates' and the resource 'DownloadFeed task', making the tool's purpose immediately obvious. It distinguishes itself from siblings by specifying the resource type (DownloadFeed) and the operation (update), which is not ambiguous among the many put tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., get_downloads_feeds_id for reading, delete_downloads_feeds_id for deletion). There is no mention of prerequisites, when not to use, or any context for choosing this over other put tools. The error codes hint at failure conditions but not usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_idB
Updates the Download task with the given id
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | id | |
| type | No | The valid download types are: — Values: `bt`: bittorrent download; `nzb`: newsgroup download; `http`: HTTP download; `ftp`: FTP download | |
| name | No | ||
| status | No | The valid download status are: — Values: `stopped`: task is stopped, can be resumed by setting the status to downloading; `queued`: task will start when a new download slot is available the queue position is stored in queue_pos attribute; `starting`: task is preparing to start download; `stopping`: task is gracefully stopping; `error`: there was a problem with the download, you can get an error code in the error field; `done`: the download is over. For bt you can resume seeding setting the status to seeding if the ratio is not reached yet; `checking`: (only valid for nzb) download is over, the downloaded files are being checked using par2; `repairing`: (only valid for nzb) download is over, the downloaded files are being repaired using par2; `extracting`: only valid for nzb) download is over, the downloaded files are being extracted; `seeding`: (only valid for bt) download is over, the content is Change to being shared to other users. The task will automatically stop once the seed ratio has been reached; `retry`: You can set a task status to ‘retry’ to restart the download task. | |
| size | No | download size (in Bytes) | |
| queue_pos | No | position in download queue (0 if not queued) | |
| io_priority | No | The valid download priorities are: — Values: `low`: low; `normal`: normal; `high`: high | |
| tx_bytes | No | transmitted bytes (including protocol overhead) | |
| rx_bytes | No | received bytes (including protocol overhead) | |
| tx_rate | No | current transmit rate (in byte/s) | |
| rx_rate | No | current receive rate (in byte/s) | |
| tx_pct | No | transmit percentage (without protocol overhead) | |
| rx_pct | No | received percentage (without protocol overhead) | |
| error | No | An error code | |
| created_ts | No | timestamp of the download creation time — Unix timestamp (seconds since epoch). | |
| eta | No | estimated remaining download time (in seconds) | |
| download_dir | No | directory where the file(s) will be saved (base64 encoded) | |
| stop_ratio | No | Only relevant for bittorrent tasks. Once the transmit ration has been reached the task will stop seeding. | |
| archive_password | No | ( only relevant for nzb ) password for extracting downloaded archives | |
| info_hash | No | ( only relevant for bt ) torrent info_hash encoded in hexa | |
| piece_length | No | ( only relevant for bt ) torrent piece length in bytes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it updates a download task and lists possible error codes, which helps understand failure modes. However, it does not specify if updates are partial or full, authentication requirements, rate limits, or side effects. The error codes add some transparency but not comprehensive behavioral insights.
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: one sentence stating the action, followed by a list of error codes. The error codes list is lengthy but useful. The key information is front-loaded. However, the list could potentially be trimmed or explained, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 22 parameters and an output schema, the description is incomplete. It does not explain which fields can be updated, any constraints (e.g., immutable after certain states), or the effect of updates. While error codes are listed, the description fails to provide enough context for an agent to use the tool correctly without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 95%, meaning most parameters are already well-described in the schema. The tool description adds no additional meaning for the parameters; it only lists error codes which are not parameters. According to the rubric, with high coverage baseline is 3, so this score 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 that this tool 'Updates the Download task with the given id', specifying the action (update) and resource (download task). It distinguishes from sibling tools like put_downloads_config, put_downloads_feeds_id, etc., which update specific aspects of downloads, while this one updates the main task by ID.
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 lacks any guidance on when to use this tool versus alternatives such as other put_downloads_* tools. It does not mention prerequisites, which fields are updatable, or constraints on when updates are allowed (e.g., not while task is in a certain state). The listing of error codes provides some context but not usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_task_id_files_file_idD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| file_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits. It only lists error codes, which are not behavioral descriptions.
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 concise (one line of error codes), but it lacks structure and substance. It fails to convey any useful information, making it inefficient.
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 severely incomplete. It provides no context for what the tool does, when to use it, or what its effects are.
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 two required parameters (task_id, file_id) with 0% description coverage. The description adds no meaning beyond the parameter names, leaving the agent to guess their purposes.
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 only lists error codes and does not state what the tool does. The name suggests a PUT operation on a file in a download task, but no explicit purpose is provided.
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. Sibling tools include many PUT operations for downloads, but the description offers no differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_task_id_trackers_announceD
Error codes: task_not_found, invalid_operation, invalid_file, invalid_url, not_implemented, out_of_memory, invalid_task_type, hibernating, need_bt_stopped_done, bt_tracker_not_found, too_many_tasks, invalid_address, port_conflict, invalid_priority, internal_error, ctx_file_error, exists, port_outside_range, none, internal, disk_full, unknown, parse_error, http_301, http_400, http_401, http_402, http_403, http_404, http_405
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ||
| announce | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed. The description only lists error codes without explaining what the tool does, what side effects occur, or any prerequisites. Annotations are absent, so the description fails to compensate.
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 not concise; it consists entirely of a long list of error codes, which is not an appropriate description for a tool's purpose. It fails to front-load any useful 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 absence of annotations, output schema, and the presence of many sibling tools, the description is completely inadequate. It provides no context on how to use the tool or what it returns.
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 defines two required parameters (task_id, announce) with 0% schema description coverage. The description does not explain the meaning or expected format of either parameter, leaving the agent with no guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just a list of error codes; it does not state what the tool does. The name suggests updating a tracker announce for a download task, but the description provides no verb or resource to clarify the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no indication of when to use this tool versus its siblings (e.g., post_downloads_task_id_trackers or delete_downloads_task_id_trackers_announce).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_downloads_throttlingB
You can force the throttling mode using this method. You can use any of the throttling modes defined in DlThrottlingConfig . Setting to schedule will automatically set correct throttling mode. Other values will force the throttling mode until you set it back to schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| normal | No | download rate for normal time slot (in B/s) | |
| slow | No | download rate for normal slow slot (in B/s) | |
| schedule | No | The schedule array represent the list of week hours timeslot, starting on monday a midnight. Therefore the complete week is represented in a array of 168 elements (24 * 7) — Values: `normal`: downloads will use normal DlRate config for this timeslot; `slow`: downloads will use slow DlRate config for this timeslot; `hibernate`: downloads will be paused for this timeslot | |
| mode | No | Throttling mode can have to following values — Values: `normal`: force use of normal rate limits (not using the scheduler); `slow`: force use of slow rate limits (not using the scheduler); `hibernate`: force hibernate (not using the scheduler); `schedule`: use scheduded rate limit |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description reveals that non-schedule modes persist until changed back to schedule. But it doesn't mention side effects, required permissions, or impact on ongoing downloads. The behavior is partially transparent but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, somewhat wordy (e.g., 'using this method'). Could be tightened by merging sentences and removing redundant phrasing. Acceptable but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, enums, nested objects) and existence of output schema, the description covers the main mechanism but omits details on parameter interactions (e.g., whether normal/slow are ignored when mode is not schedule). Leaves some uncertainty.
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%, baseline 3. The description adds context on mode values and schedule array behavior, but does not detail how normal/slow objects interact with mode. It adds moderate value 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 it's about forcing throttling mode for downloads, using modes from DlThrottlingConfig. It distinguishes between schedule and other modes, but does not explicitly differentiate from sibling tools like put_downloads_config.
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 when to use 'schedule' vs other modes, and notes that non-schedule modes force until reset. However, it provides no explicit guidance on when to prefer this tool over alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_email_number_address_url_email_idC
Updates the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only mentions error codes ('noent', 'exists', 'no_match'), but fails to describe mutation characteristics, idempotency, permissions, or side effects. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the purpose. However, it lacks structure such as separating purpose from error codes.
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 7 parameters and many siblings, the description is too brief. It does not explain the resource type, error code meanings, or how it differs from similar tools. An output schema exists but is not leveraged in the description.
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 (86%), so the baseline is 3. The description adds no extra meaning beyond the schema, and the term 'ContactNumber' is slightly misaligned with the schema's phone-number focus.
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 states 'Updates the ContactNumber with the given id', which provides a clear verb and resource, but the tool name includes 'email_number_address_url_email' causing ambiguity about which resource is targeted. It does not distinguish from siblings like put_number_number_address_url_email_id or put_address_number_address_url_email_id.
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, context, or when-not-to-use information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_fs_tasks_idC
Updates the FsTask task with the given id
Error codes: invalid_id, path_not_found, internal_error, disk_unavailable, invalid_request, invalid_conflict_mode, exec_failed, out_of_memory, task_not_found, invalid_state, invalid_task_type, destination_conflict, access_denied, disk_full, none, archive_read_failed, archive_open_failed, archive_write_failed, chdir_failed, dest_is_not_dir, file_exists, file_not_found, mkdir_failed, open_input_failed, open_output_failed, opendir_failed, overwrite_failed, path_too_big, repair_failed, rmdir_failed
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | id | |
| type | No | The valid task types are: — Values: `cat`: Concatenate multiple files; `cp`: Copy files; `mv`: Move files; `rm`: Remove files; `archive`: Creates an archive; `extract`: Extract an archive; `repair`: Check and repair files | |
| state | No | Values: `queued`: Queued (only one task is active at a given time); `running`: Running; `paused`: Paused (user suspended); `done`: Done; `failed`: Failed (see error) | |
| error | No | Values: `none`: No error; `archive_read_failed`: Error reading archive; `archive_open_failed`: Error opening archive; `archive_write_failed`: Error writing archive; `chdir_failed`: Error changing directory; `dest_is_not_dir`: The destination is not a directory; `file_exists`: File already exists; `file_not_found`: File not found; `mkdir_failed`: Unable to create directory; `open_input_failed`: Error opening input file; `open_output_failed`: Error opening output file; `opendir_failed`: Error opening directory; `overwrite_failed`: Error overwriting file; `path_too_big`: Path is too long; `repair_failed`: Failed to repair corrupted files; `rmdir_failed`: Error removing directory; `same_file`: Source and Destination are the same file; `unlink_failed`: Error removing file; `unsupported_file_type`: This file type is not supported; `write_failed`: Error writing file; `disk_full`: Disk is full; `internal`: Internal error; `invalid_format`: Invalid file format (corrupted ?); `incorrect_password`: Invalid or missing password for extraction; `permission_denied`: Permission denied; `readlink_failed`: Failed to read the target of a symbolic link; `symlink_failed`: Failed to create a symbolic link | |
| created_ts | No | task creation timestamp — Unix timestamp (seconds since epoch). | |
| started_ts | No | task start timestamp — Unix timestamp (seconds since epoch). | |
| done_ts | No | task end timestamp — Unix timestamp (seconds since epoch). | |
| duration | No | task duration in seconds | |
| progress | No | task progress in percent (scaled by 100) | |
| eta | No | estimated time remaining before the task completion (in seconds) | |
| from | No | current source file (if available) | |
| to | No | current destination file (if available) | |
| nfiles | No | number of files to process | |
| nfiles_done | No | number of files processed | |
| total_bytes | No | total bytes to process | |
| total_bytes_done | No | number of bytes processed | |
| curr_bytes | No | size of the file currently processed | |
| curr_bytes_done | No | number of bytes processed for the current file | |
| rate | No | processing rate in byte/s |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists many error codes, which hint at failure modes, but does not disclose side effects, prerequisites, or behavioral traits like authorization requirements or state transitions. With no annotations, the description fails to adequately convey behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is concise but is followed by an extensive, redundant list of error codes that duplicates information in the input schema. This reduces conciseness and adds clutter without new value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (20 parameters) and the presence of an output schema, the description should provide more context about typical usage, effects of updating different fields, and relationship to other task operations. It falls short.
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 coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema; it only repeats error codes that already exist in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing FsTask resource, distinguishing it from read (get_fs_tasks_id), delete (delete_fs_tasks_id), and creation (post_fs_*) siblings. However, it does not elaborate on which fields are updatable beyond the input schema.
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. Sibling tools exist for creating, reading, and deleting tasks, but the description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_ftp_configC
Update the FtpConfig
Error codes: internal_error, weak_password
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | is the FTP server enabled | |
| allow_anonymous | No | can anonymous user log in | |
| allow_anonymous_write | No | can anonymous user write data | |
| password | No | user password | |
| allow_remote_access | No | enable ftp server remote access | |
| weak_password | No | is the ftp password weak (in this case remote access is disabled) | |
| port_ctrl | No | ftp control port to use for remote access | |
| port_data | No | ftp data port to use for remote access | |
| remote_domain | No | domain name to use for remote access |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavioral traits. It only lists two error codes ('internal_error', 'weak_password'), but does not mention if the update is partial or full, if it restarts services, or what side effects occur. 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 very short (one sentence plus error codes). It is concise but lacks structure; error codes could be presented more clearly. It does not waste words but could be improved with a list or clarifications.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, all optional, and an output schema, the description does not explain partial update behavior, what the output represents, or any constraints. It feels incomplete and leaves important questions unanswered.
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 does not add any meaning beyond the schema's descriptions. The error code 'weak_password' is mentioned but relates to a parameter already described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Update the FtpConfig', which clearly indicates the verb (update) and resource (FtpConfig). This distinguishes it from sibling 'get_ftp_config' for reading. However, it lacks additional detail about scope or 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?
No guidance is provided on when to use this tool vs alternatives, prerequisites, or when not to use it. The description only states the action without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_fw_dmzD
Update the current LanConfig
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | Freebox Server IPv4 address | |
| name | No | Freebox Server name | |
| name_dns | No | Freebox Server DNS name | |
| name_mdns | No | Freebox Server mDNS name | |
| name_netbios | No | Freebox Server netbios name | |
| type | No | The valid LAN modes are: — Values: `router`: The Freebox acts as a network router; `bridge`: The Freebox acts as a network bridge |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes (noent, internal_error, exist) which is helpful, but does not disclose what the update does (e.g., whether it sets replacement or merge behavior), auth requirements, 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 very short (two lines) but includes misleading information. It could be more concise if accurate, but the content is incomplete and incorrectly names the 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?
With 6 parameters (none required) and an output schema, the description fails to explain what the output contains, how the update interacts with existing configuration, or any relationship to get_fw_dmz or put_lan_config. The error codes are a positive addition, but overall context is lacking.
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 good descriptions for each parameter. However, the description's claim of updating 'LanConfig' is inconsistent with the schema fields (Freebox Server address, names, type) which seem more aligned with general network configuration rather than DMZ. The description adds confusion rather than clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update the current LanConfig', but the tool name put_fw_dmz implies updating the firewall DMZ configuration. This mismatch between description and tool name creates confusion about the tool's actual purpose. There is a sibling get_fw_dmz, suggesting put_fw_dmz should update DMZ, not LanConfig.
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 put_lan_config or other put_ tools. The description does not specify prerequisites, required fields, or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_fw_incoming_port_idC
Update a IncomingPortConfig properties
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| port_id | Yes | ||
| id | No | incoming port id — Values: `http`: http port for remote access to Freebox OS; `https`: https port for tls remote access to Freebox OS; `bittorrent-main`: main bittorrent port for Freebox downloader; `bittorrent-dht`: bittorrent port for DHT; `openvpn_routed`: routed openvpn port; `openvpn_bridge`: bridged openvpn port; `ipsec_ike`: ipsec ikev2 vpn port; `ipsec_nat`: ipsec nat vpn port; `pptp`: pptp vpn server port; `ftp`: ftp control port for FTP remote access; `ftp_pasv`: ftp data port for FTP remote access | |
| enabled | No | is the port binding allowed | |
| active | No | is the port binding currently active | |
| type | No | Values: `tcp`: TCP; `udp`: UDP; `tcp_udp`: both TCP and UDP | |
| in_port | No | binding port | |
| netns | No | network namespace. The service may be running on a different namespace (for instance if the service uses the vpn client). | |
| min_port | No | This field indicate the minimum possible value for in_port (see ConnectionStatus ipv4_port_range) | |
| max_port | No | This field indicate the maximum possible value for in_port (see ConnectionStatus ipv4_port_range) | |
| readonly | No | If set to true, the in_port field cannot be changed because of the underlying protocol does not allow it |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists three error codes ('noent', 'internal_error', 'exist'), which provides some behavioral insight. However, with no annotations, the description fails to disclose whether the update is a full replacement or partial, side effects, or idempotency. It lacks detail on success behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (one sentence plus error codes). While concise, it sacrifices completeness and structure. It should provide more detail without being 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?
Given the tool complexity (10 parameters, mutative operation), the description is insufficient. It does not explain the overall behavior, output schema, or how parameters interact. Sibling tools exist but no guidance is given.
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 90% schema description coverage, the input schema already explains most parameters thoroughly (e.g., 'id' has enumerated values with explanations). The description adds no semantic value beyond the schema; 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 'Update' and the resource 'IncomingPortConfig', which conveys the primary action. However, it does not distinguish this tool from other put tools for firewall configuration (e.g., put_fw_redir_redir_id), and the phrase 'properties' is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., when to use get_fw_incoming_port_id first, or how this differs from put_fw_redir_redir_id). There are no prerequisites, conditions, or contextual hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_fw_redir_redir_idB
Update a PortForwardingConfig properties
Error codes: noent, internal_error, exist
| Name | Required | Description | Default |
|---|---|---|---|
| redir_id | Yes | ||
| id | No | forwarding id | |
| enabled | No | is forwarding enabled | |
| ip_proto | No | Values: `tcp`: TCP; `udp`: UDP | |
| wan_port_start | No | forwarding range start | |
| wan_port_end | No | forwarding range end | |
| lan_ip | No | forwarding target on LAN | |
| lan_port | No | forwarding target start port on LAN, (last port is lan_port + wan_port_end - wan_port_start) | |
| hostname | No | forwarding target host name | |
| host | No | forwarding target host information (see: LanHost ) | |
| src_ip | No | if src_ip == 0.0.0.0 this rule will apply to any src ip otherwise it will only apply to the specified ip address | |
| comment | No | comment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It says 'Update' but does not mention that the update is partial (only provided fields are changed), any required permissions, side effects, or that the tool is destructive. The error codes hint at possible failures, but the description lacks depth 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 very concise with one sentence plus error codes. It is front-loaded with the core action. However, it could benefit from a brief usage 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 the tool's complexity (12 parameters, nested objects, many siblings), the description is incomplete. It omits how the host object is used, whether the update is partial, and what the response contains. With an output schema present, the return values are covered elsewhere, but the description still lacks sufficient context for correct 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?
The input schema has 92% description coverage, so the schema already documents most parameters well. The description adds only error codes, not additional meaning beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.
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 'Update a PortForwardingConfig properties,' which is a specific verb+resource combination. It distinguishes this tool from siblings like get_fw_redir_redir_id and delete_fw_redir_redir_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as the related get or delete tools. It only lists error codes, which is insufficient for an AI agent to decide when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_lan_browser_interface_hostidC
Update a LanHost properties
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
| interface | Yes | ||
| hostid | Yes | ||
| id | No | Host id (unique on this interface) | |
| primary_name | No | Host primary name (chosen from the list of available names, or manually set by user) | |
| host_type | No | When possible, the Freebox will try to guess the host_type, but you can manually override this to the correct value — Values: `workstation`: Workstation; `laptop`: Laptop; `smartphone`: Smartphone; `tablet`: Tablet; `printer`: Printer; `vg_console`: Video game console; `television`: TV; `nas`: Nas; `ip_camera`: IP Camera; `ip_phone`: IP Phone; `freebox_player`: Freebox Player; `freebox_hd`: Freebox Server; `networking_device`: Networking device; `multimedia_device`: Multimedia device; `other`: Other | |
| primary_name_manual | No | If true the primary name has been set manually | |
| l2ident | No | Layer 2 network id and its type | |
| vendor_name | No | Host vendor name (from the mac address) | |
| persistent | No | If true the host is always shown even if it has not been active since the Freebox startup | |
| reachable | No | If true the host can receive traffic from the Freebox | |
| last_time_reachable | No | Last time the host was reached — Unix timestamp (seconds since epoch). | |
| active | No | If true the host sends traffic to the Freebox | |
| last_activity | No | Last time the host sent traffic — Unix timestamp (seconds since epoch). | |
| names | No | List of available names, and their source | |
| l3connectivities | No | List of available layer 3 network connections |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 'Update' and lists error codes, but does not disclose whether updates are partial or full, if authentication is required, or any side effects. The error codes hint at possible failures but lack 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 short (two lines) and front-loaded with purpose. However, the error code list takes space but is not explained. It is concise but at the cost of completeness.
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 15 parameters, no output schema described, and no annotations, the description is too sparse. It fails to explain what the output is, prerequisites, or how parameters relate. The listed error codes are not contextualized.
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 87%, so the schema itself describes most parameters well. The description adds no additional meaning beyond restating that it updates properties. Baseline 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 'Update a LanHost properties', which is a specific verb+resource. It distinguishes from sibling 'get_lan_browser_interface_hostid' which retrieves. However, it does not elaborate on which properties are updatable beyond what the schema provides.
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 given on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. The sibling list contains many other put operations, but no differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_lan_configB
Update the current LanConfig
Error codes: noent, internal_error, ioerror, inval, inval_gateway_ip, nodev, nohost, nomem, netdown
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | Freebox Server IPv4 address | |
| name | No | Freebox Server name | |
| name_dns | No | Freebox Server DNS name | |
| name_mdns | No | Freebox Server mDNS name | |
| name_netbios | No | Freebox Server netbios name | |
| type | No | The valid LAN modes are: — Values: `router`: The Freebox acts as a network router; `bridge`: The Freebox acts as a network bridge |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only mentions 'Update' and lists error codes, but fails to state that it modifies state, the nature of changes (partial vs full), authentication requirements, or side effects. Error codes are helpful but 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 concise: one line for purpose followed by a list of error codes. It avoids redundancy and is front-loaded. However, the error codes could be better integrated or explained, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 optional parameters and an output schema, the description is minimal but covers updating the config and possible errors. It does not explain return values (output schema exists) or provide richer context about LanConfig. Adequate 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 coverage is 100%, so each parameter is described in the input schema. The tool description adds no extra meaning for parameters, but the listed error codes provide some context about potential failures. 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 'Update the current LanConfig', specifying the verb (update) and resource (LanConfig). It distinguishes this tool from siblings like 'get_lan_config' (read) and other 'put_' tools for different resources. The error codes provide additional 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 is for updating LAN configuration but lacks explicit guidance on when to use this tool vs alternatives. No prerequisites or context are provided. The presence of 'get_lan_config' suggests a read counterpart, but no direct comparison is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_lcd_configB
Update the LcdConfig
Error codes: inval, no_panel, setup
| Name | Required | Description | Default |
|---|---|---|---|
| brightness | No | the screen brightness (range from 0 to 100) | |
| orientation_forced | No | is the screen orientation forced | |
| orientation | No | the screen orientation angle |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only lists error codes without explaining their meaning or providing details on behavior such as partial updates, allowable ranges beyond schema, or side effects. The limited disclosure 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?
Description is extremely concise, with the purpose stated in the first sentence and error codes listed efficiently. No wasted words or unnecessary 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 3 optional parameters and an output schema, the description is too minimal. It lacks clarity on the meaning of error codes, whether the update is incremental or full, and what the default behavior is when parameters are omitted. The output schema is present but the description does not leverage it.
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 baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides. It does not clarify relationships between parameters (e.g., if orientation_forced affects orientation).
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 explicitly states 'Update the LcdConfig', using a specific verb and resource. It clearly distinguishes this tool from the sibling 'get_lcd_config' and other 'put_*' tools by targeting a specific configuration.
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 is implied that this tool is for updating LCD settings, but no context is given for prerequisite conditions or when to prefer it over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_number_number_address_url_email_idA
Updates the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions error codes ('noent', 'exists', 'no_match'), giving some insight into failure modes, but does not describe idempotency, side effects, or success behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long: one for purpose and one for error codes. No extraneous text, every element 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 the tool has 7 parameters and an output schema, the description lacks usage context and comprehensive behavioral details. Error codes help but are insufficient for full standalone understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (86%), so the baseline is 3. The description adds no parameter-specific information beyond what the schema already 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 'Updates the ContactNumber with the given id', providing a specific verb and resource that directly matches the tool name and distinguishes it from sibling tools like delete or get variants.
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., other put_ tools or methods like post or delete). The error codes hint at failure cases but do not specify usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_parental_configC
Update the ParentalFilterConfig
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| default_filter_mode | No | see available filter_state |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. It only mentions 'Update' and lists error codes without explanation. Missing details on destructive potential, permissions needed, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (two sentences), which is concise, but it lacks structure. The error codes list is not formatted or explained, reducing clarity despite brevity.
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 and the presence of an output schema, the description should provide more context about what ParentalFilterConfig is, how it relates to other parental tools, and what the parameter does. Currently, it is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage (one parameter with description 'see available filter_state'), but the description adds no additional meaning. The schema itself is vague, and the description does not clarify what default_filter_mode accepts.
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 ('Update') and the resource ('ParentalFilterConfig'). However, it does not differentiate from sibling tools like put_parental_filter, which may update a different aspect of parental controls.
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 recommendations are provided, leaving the agent to guess the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_parental_filter_idC
Updates the ParentalFilter rule with the given id
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | filter id | |
| macs | No | the list of mac addresses the rule should be applied to | |
| hosts | No | the list of hostnames associated with macs | |
| ip | No | only filled for old rules, you cannot set a rule with an IP | |
| desc | No | a description for this rule | |
| forced | No | is set to true, the rule will not use the planning and will always stay in the forced_mode | |
| forced_mode | No | the filter policy to use when forced is set to true (see filter_state for valid states) | |
| tmp_mode_expire | No | if != 0 the rule will not use the planning for the next tmp_mode_expire seconds | |
| tmp_mode | No | the filter policy to use when tmp_mode_expire is != 0 (see filter_state for valid states) | |
| scheduling_mode | No | Values: `forced`: filter_state is forced to forced_mode; `temporary`: filter_state is temporary set to tmp_mode for the next tmp_mode_expire seconds; `planning`: filter_state is set using the planning | |
| filter_state | No | Values: `allowed`: access is allowed; `denied`: access is denied; `webonly`: access is granted only for HTTP and HTTPS traffic | |
| current_mapping_idx | No | current index used in planning to compute filter_state (only relevant when scheduling_mode is planning) | |
| next_change | No | seconds until next filter_state change 0 means filter_state won’t change |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must convey behavioral traits. It lists error codes ('inval', 'exist', 'noent'), which is useful, but fails to disclose idempotency, side effects, permissions, or whether updates are partial or full replacement.
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 short (one sentence plus error code list), which is concise, but it lacks important context and does not fully earn its place with meaningful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, mutation nature, and existing output schema, the description is incomplete. It does not explain error codes, success behavior, or usage scenarios. Minimal context 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?
Schema description coverage is 100%, so all 14 parameters have descriptions in the schema. The tool description adds no parameter information beyond linking to 'ParentalFilter rule'. 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 ('Updates') and the resource ('ParentalFilter rule with the given id'). It distinguishes from sibling read/get and delete tools, but lacks differentiation from put_parental_filter_id_planning.
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 put_parental_filter_id_planning. No prerequisites, usage context, or when-not-to-use information provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_parental_filter_id_planningB
Update the ParentalFilterPlanning for the parental filter rule with the given id
Error codes: inval, exist, noent
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| resolution | No | planning resolution : number of planning slots per day, e.g. 48 means that each slot represent 30 minutes | |
| cdayranges | No | list of custom day range, each custom day range represents a group of days for which you want to use a different planning than other week days. — Values: `:fr_bank_holidays`: French bank holidays; `:fr_school_holidays_a`: French school holidays - Zone A; `:fr_school_holidays_b`: French school holidays - Zone B; `:fr_school_holidays_c`: French school holidays - Zone C; `:fr_school_holidays_corse`: French school holidays - Corse | |
| mapping | No | array of states for each corresponding planning slots. the array size is : (number of cdayranges + 7) * resolution |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions it performs an update (write operation) and lists error codes (inval, exist, noent), which provides some behavioral insight. However, without annotations, it lacks details on prerequisites, side effects, or what happens with invalid inputs. The error codes are helpful but not comprehensive.
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: one sentence plus error codes. It is front-loaded with the purpose. Minor improvement could be a bit more structure, but 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 has 4 parameters and an output schema, the description could explain the relationship between resolution, cdayranges, and mapping (e.g., mapping size). It also doesn't clarify the id format. The error codes add some completeness but gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so most parameters already have descriptions. The description does not add additional meaning beyond the schema. For example, the 'mapping' parameter is explained in schema but not in the description. Baseline score 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 it updates the ParentalFilterPlanning for a given parental filter rule ID. It uses a specific verb ('Update') and resource ('ParentalFilterPlanning'), distinguishing it from sibling tools like put_parental_filter_id which updates the filter rule itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or alternatives. Only the action and error codes are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_pvr_configC
Update the current PvrConfig
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| margin_before | No | default margin before recording start time | |
| margin_after | No | default margin after recording end time |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It lists many error codes, hinting at failure modes (e.g., disk_full, network_problem), but does not explain the update's exact effects, side effects, or what happens with no parameters. Behavioral transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (one sentence plus an error code list) and front-loaded with the purpose. The list is verbose but provides structured information. While the list could be condensed, overall it is reasonably concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values, but it still lacks context about the update's behavior (e.g., default values, partial updates). The error codes add some completeness, but the description remains minimally adequate for a mutation tool with optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond the schema, so it meets 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 'Update the current PvrConfig,' indicating a specific verb and resource. However, it does not distinguish from sibling tools like put_pvr_finished_id or put_pvr_programmed_id, which also modify PVR-related entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks any mention of when to invoke it, prerequisites, or exclusions. The list of error codes, while informative, does not constitute usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_pvr_finished_idC
Update a Frecord properties
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | frecord id | |
| media | No | media name on which the record is written. See the Media API for more info. This property and can be empty when the file backing the record is not available, for example when secure is set. | |
| path | No | destination directory on the media storage | |
| filename | No | filename of the record | |
| byte_size | No | size of the record file in bytes | |
| has_record_gen | No | if true, this frecord has been generated using a Generator | |
| record_gen_id | No | if has_record_gen, this is the id of the generator | |
| altered | No | an frecord is altered when some part of the recording may be missing. This can be the case if a conflict occurred during the recording (or connection was down) | |
| state | No | Values: `disabled`: disabled; `start_error`: failed to start; `waiting_start_time`: scheduled; `starting`: starting; `running`: running; `running_error`: running with error; `failed`: failed; `finished`: finished | |
| error | No | ||
| channel_uuid | No | channel uuid | |
| channel_name | No | optional channel name | |
| channel_quality | No | ||
| channel_type | No | Values: `‘’ (empty string)`: auto; `iptv`: use only iptv streams; `dvb`: use only dvb streams | |
| name | No | record name | |
| subname | No | record subname | |
| broadcast_type | No | ||
| start | No | record start timestamp | |
| end | No | record end timestamp | |
| secure | No | flag set when the record is protected by DRM |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only states 'Update a Frecord properties' and lists error codes. It does not indicate whether the operation is destructive, requires authentication, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is concise, but the extensive list of error codes bloats the description. A more structured format (e.g., bullet list or separate section) would improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 21 parameters and complex error semantics, the description lacks context on what a Frecord is, prerequisites, or return behavior. The output schema exists but is not referenced, leaving the agent with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (86%), providing descriptions for most parameters. 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 'Update a Frecord properties' clearly states the action (update) and resource (Frecord properties). It distinguishes from siblings like put_pvr_programmed_id (updates programmed records) and get_pvr_finished_id (retrieves). However, 'Frecord' is jargon and could be clarified as 'finished PVR record'.
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 put_pvr_programmed_id or put_pvr_config. The error code list provides some conditions but does not direct the agent on selection based on context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_pvr_programmed_idC
Update a Precord properties
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | precord id | |
| media | No | media name on which the record will be written to. See the Media API for more info. This property and can be empty when the file backing the record is not available, for example when secure is set. | |
| path | No | destination directory on the media storage where the record will be written to | |
| has_record_gen | No | if true, this precord has been generated using a Generator | |
| record_gen_id | No | if has_record_gen, this is the id of the generator | |
| conflict | No | if true this record may conflict with another record | |
| overlap_list | No | in case of conflict, this will contain the list of records id that may conflict with this record | |
| enabled | No | it only applies to generated records. If false the generated precord will be skipped. | |
| altered | No | a precord is altered when some part of the recording may be missing. This can be the case if a conflict occurred during the recording (or connection was down) | |
| state | No | Values: `disabled`: disabled; `start_error`: failed to start; `waiting_start_time`: scheduled; `starting`: starting; `running`: running; `running_error`: running with error; `failed`: failed; `finished`: finished | |
| error | No | ||
| channel_uuid | No | channel uuid | |
| channel_name | No | optional channel name | |
| channel_quality | No | ||
| channel_type | No | Values: `‘’ (empty string)`: auto; `iptv`: use only iptv streams; `dvb`: use only dvb streams | |
| name | No | record name | |
| subname | No | record subname | |
| broadcast_type | No | ||
| start | No | record start timestamp | |
| end | No | record end timestamp | |
| legacy_uri | No | only used for legacy apps. Use channel_uuid instead when available NOTE: only visible when called from player | |
| force_channel_name | No | only used for legacy apps. Use channel_uuid instead when available NOTE: only visible when called from player |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only lists error codes without explaining update semantics, side effects, or required permissions. The description fails to convey whether the update is partial or full, or what happens on failure.
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 core description is very brief, but it is followed by an extensive list of error codes that could be moved to a reference. The information is front-loaded but the error list feels excessive for the description field.
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 (23 parameters, output schema exists), the description lacks necessary context such as update behavior, field interactions, and return value explanation. The error list partially compensates but does not provide operational completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 87%, so baseline is 3. The description adds no parameter-level information beyond the schema. The schema already documents most parameters adequately.
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 'Update' and the resource 'Precord' (likely a typo for 'precord'). It distinguishes the tool as updating an existing precord, but does not differentiate it from siblings like put_pvr_finished_id or put_pvr_config.
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 given on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or which sibling tool might be more appropriate for different update scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_pvr_quotaC
Request next quota threshold. You don’t have to provide any arguments, the quota will be adjusted automatically if needed.
Error codes: noent, inval, inval_date_fmt, inval_end_before_start, system_time_incorrect, record_duration_too_long, record_date_in_past, unknown_channel, no_channel_svc, only_auto_disable, cannot_change_en_state, cannot_disable_has_data, internal_error, none, file_access_error, disk_full, private_but_no_private_dir, network_problem, resource_problem, no_stream_available, no_data_received, missed, stopped, unknown_error
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'Request next quota threshold' and lists error codes. It does not disclose if the operation is destructive, idempotent, or requires permissions, nor what side effects occur beyond automatic adjustment.
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 front-loads the purpose but includes an extensive list of error codes (20+), which bloats the text. A shorter summary or reference to documentation would be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (context says true), the description does not describe the return value or behavior. It misses prerequisites, side effects, and call context, leaving the agent under-informed for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description says no arguments needed, which is helpful but fails to explain the optional 'body' parameter. The schema allows a free-form object, but the description gives no guidance on its structure or purpose.
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 requests the next quota threshold, which is a specific verb+resource. It distinguishes from sibling tools like put_pvr_config and put_pvr_finished_id by its focus on quota, though it doesn't explicitly differentiate in text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions no arguments are needed and the quota adjusts automatically, implying a simple use case. However, it does not specify when to use this tool versus alternatives like get_pvr_quota for checking quota or other put_pvr_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_storage_configC
Update the StorageConfig
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| external_pm_enabled | No | enable/disable external disk power management | |
| external_pm_idle_before_spindown | No | idle time in minutes to wait before spinning down an external disk |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Update' and lists error codes. It does not mention whether changes are immediate, require a reboot, or are reversible. The impact of setting external_pm_enabled or spindown timeout is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with a single sentence followed by a list of error codes. It front-loads the purpose efficiently, though the error codes could be considered extra detail. Overall, it is well-structured and avoids 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?
Given the tool has only two optional parameters and an output schema, the description is minimally adequate. However, it lacks explanatory context about the StorageConfig resource and the implications of modifying these settings, which is needed for full 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% and both parameters have descriptions in the input schema. The description adds no additional parameter meaning, so it meets the baseline expectation but does not exceed it.
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 'Update the StorageConfig', specifying the verb and resource. It is distinct from sibling tools like put_storage_disk_id by focusing on the configuration object. However, it does not elaborate on what specific aspects it updates (e.g., external disk power management), so it lacks full specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_storage_config or other put tools. There are no prerequisites, exclusions, or context about workflows (e.g., whether to fetch current config first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_storage_disk_idC
Enable/Disable a disk
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 the action and lists error codes, but does not disclose side effects, permissions, or what the 'body' parameter does.
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 short but includes error codes, which is useful. However, it lacks structure and could better organize information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation, free-form body) and lack of output schema details, the description is insufficient for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%. While 'id' is self-explanatory, the 'body' parameter is an object with 'additionalProperties: true', and the description gives no hint about expected keys or structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action as 'Enable/Disable a disk', specifying the verb and resource. It is distinguishable from siblings like 'put_storage_disk_id_format' which is for formatting.
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. Error codes hint at conditions but do not provide explicit usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_storage_disk_id_formatA
Format the disk with the given id To be able to format a disk you need to provide the following parameters (JSON encoded). There will be one partition using all the available space on disk. All previous data will be lost. This parameters will be ignored if you format the Freebox internal disk NOTE: once started you can monitor the format process getting the disk information (see StorageDisk operation_pct field)
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | the disk id | |
| type | No | Values: `internal`: Freebox internal disk; `usb`: usb disk; `sata`: sata disk | |
| state | No | Values: `error`: Disk has error; `disabled`: Disk is disabled; `enabled`: Disk is enabled; `formatting`: Disk is formatting | |
| connector | No | Disk physical connector id | |
| total_bytes | No | Disk size (in bytes) | |
| table_type | No | ||
| model | No | Disk model | |
| serial | No | Disk serial number | |
| firmware | No | Disk firmware version | |
| temp | No | Disk temperature (when supported) in °C | |
| operation_pct | No | partition operation progress | |
| partitions | No | list of disk partitions | |
| idle | No | is disk idle (when available) | |
| idle_duration | No | disk idle duration (in seconds) (when available) | |
| spinning | No | is disk spinning (when available) | |
| active_duration | No | disk activity duration (in seconds) (when available) | |
| time_before_spindown | No | seconds left before disk spin down (in seconds) (when available) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It effectively discloses that all previous data will be lost, that monitoring is possible via the operation_pct field, and lists relevant error codes. This provides a clear behavioral picture for an irreversible operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat run-on and could be better organized into sentences or bullet points. It includes all essential information but is not optimally concise or structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description covers the key workflow (format, monitor, error codes). It lacks details on prerequisites (e.g., disk state before formatting) but is largely complete for the tool's purpose.
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 high (94%), so baseline is 3. The description adds valuable context: parameter encoding (JSON) and the fact that parameters are ignored for internal disks. This goes beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Format the disk with the given id' and explains that it creates a single partition and data is lost. However, it does not explicitly differentiate from sibling tools like put_storage_disk_id or put_storage_partition_id, leaving some ambiguity about when to use this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives. It mentions prerequisites ('provide the following parameters') but does not specify when formatting is appropriate or when other storage tools should be used, leaving the agent without explicit decision-making cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_storage_partition_idC
Enable/Disable a partition
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes, which is helpful. However, it does not disclose side effects (e.g., data loss, unmounting requirements) or permissions needed. The mutation nature is implied but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one phrase plus error codes). It is concise but lacks structure and front-loading. The error codes are listed, but the main action is not elaborated. Could be improved with a brief sentence on behavior.
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 output schema, the description fails to clarify success/failure response or state changes. No mention of relationship to get_storage_partition_id or other storage tools. Error codes partially compensate, but overall 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 coverage is 0%, and the description does not explain the parameters at all. The 'id' is clear from the name, but the 'body' parameter (additionalProperties: true) is completely unspecified. The agent has no guidance on what properties to include (e.g., enabled).
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 'Enable/Disable a partition', specifying the verb and resource. The tool name and sibling tools confirm it operates on a specific partition by ID. However, it could be more precise about what 'enable/disable' means (e.g., mounting state).
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 put_storage_partition_id_check. No prerequisites (e.g., disk must be present) or exclusions provided. The description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_storage_partition_id_checkC
Checks the partition with the given id To be able to check a partition you need to provide the following parameters (JSON encoded): NOTE: once started you can monitor the fsck process getting the partition information (see DiskPartition operation_pct field)
Error codes: not_found, invalid_disk, is_a_partition, is_internal, op_not_supported, op_failed, disk_busy
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | unique partition id | |
| disk_id | No | related disk id | |
| state | No | Values: `error`: Partition has error; `checking`: Partition check in progress; `formatting`: Partition format in progress; `mounting`: Partition mount in progress; `maintenance`: Partition is in maintenance mode; `mounted`: Partition is ready; `umounting`: Partition umount in progress; `umounted`: Partition is umounted; `ejecting`: Partition ejection in progress | |
| fstype | No | ||
| label | No | partition name | |
| path | No | partition mount point (encoded in base64 as explained in fs API) | |
| total_bytes | No | partition size (in bytes) | |
| used_bytes | No | partition used space (in bytes) | |
| free_bytes | No | partition free space (in bytes) | |
| fsck_result | No | fsck result — Values: `no_run_yet`: Partition has not been checked yet; `running`: Check is in progress; `fs_clean`: File system is ok; `fs_corrected`: File system was corrected; `fs_needs_correction`: File system need correction; `failed`: File system has unrecoverable error | |
| operation_pct | No | partition operation progress |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It mentions error codes and monitoring via operation_pct, but lacks disclosure on prerequisites (e.g., partition state), side effects, or permissions. The description is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but lacks structure. It combines purpose, a note, and error codes in an unorganized way. It is concise but could be better structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 params, nested objects, output schema existence), the description is minimal. It does not explain return values or provide sufficient context for the agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 92%, so most parameters are already described. The description adds no additional meaning beyond the schema, just a vague note about providing parameters JSON encoded. 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 checks a partition by id. The verb and resource are clear, but it doesn't explicitly distinguish it from sibling tools like get_storage_partition_id or put_storage_partition_id.
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. The note about monitoring the fsck process is a minor hint but does not provide when/when-not to use or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_switch_port_idB
Update the SwitchPortConfig for the given port id
Error codes: bad_port, bad_speed, bad_link, bad_mac_entry_type
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | switch port id | |
| duplex | No | Values: `auto`: auto negotiate duplex mode; `half`: force in half duplex mode; `full`: force in full duplex mode | |
| speed | No | Values: `auto`: auto negotiate speed; `10`: 10Base-T; `100`: 100Base-TX; `1000`: 1000Base-T |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only lists error codes, but does not disclose destructive potential, permissions needed, or how updates are applied (overwrite vs merge). Minimal behavioral info.
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?
Very concise with two sentences. First sentence clearly states purpose. Could be slightly more structured, but efficient overall.
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?
Lacks behavioral context, usage guidelines, and details on optional parameters. Output schema exists but description doesn't leverage that to reduce completeness need. Incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description does not add meaning beyond schema; error codes are indirectly related but not parameter-specific. Adequate but 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?
Description clearly states 'Update the SwitchPortConfig for the given port id', specifying verb and resource. It distinguishes from sibling get_switch_port_id (read) and other put tools. Error codes add specificity.
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, no prerequisites or exclusions. Only implicit from context that it's an update operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_upnpav_configC
Update the UPnPAVConfig
Error codes: internal_error
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | is the UPnP AV service enabled |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 says 'Update' and mentions an error code 'internal_error', but does not explain side effects, prerequisites, or what happens if enabled is toggled. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence plus error code), with no wasted words. It is front-loaded. However, it could be slightly more structured by separating description from error details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no required fields, output schema exists), the description should still cover basic behavioral aspects and usage context. It lacks information about return values (output schema not described) and when to use this tool, 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?
Schema coverage is 100%, and the schema parameter description ('is the UPnP AV service enabled') is clear. The tool description adds no additional meaning beyond what the schema provides, 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 'Update the UPnPAVConfig' clearly states the action (update) and the resource (UPnPAVConfig). It is distinct from siblings like get_upnpav_config (read) and put_upnpigd_config (different service). However, it could be more specific about what is updated.
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. For example, it does not mention that get_upnpav_config should be used to retrieve current settings before updating, or compare with put_upnpigd_config.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_upnpigd_configC
Update the UPnPIGDConfig
Error codes: disabled, noent
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | is the UPnP IGD service enabled | |
| version | No | UPnP IGD protocol version Supported values are 1 / 2 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions error codes but fails to disclose side effects, permissions, or other behavioral traits beyond 'Update'. 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?
Very short and front-loaded, but at the expense of necessary details. Under-specification reduces conciseness value.
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 output schema existence and no annotations, description is incomplete. Lacks usage context, behavioral details, and parameter elaboration beyond what schema provides.
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 parameters are documented there. Description adds no additional meaning beyond schema, achieving 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 clearly states the verb 'Update' and resource 'UPnPIGDConfig', making the tool's action obvious. While minimal, no sibling differentiation is needed as the resource is unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., get_upnpigd_config). Missing context such as prerequisites or common scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_url_number_address_url_email_idC
Updates the ContactNumber with the given id
Error codes: noent, exists, no_match
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | address id | |
| contact_id | No | id of the related contact | |
| type | No | Type of number — Values: `fixed`: fixed phone; `mobile`: mobile phone; `work`: work; `fax`: fax; `other`: other | |
| number | No | ||
| is_default | No | is this number the preferred contact phone number | |
| is_own | No | is this number the Freebox owner number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists error codes (`noent`, `exists`, `no_match`) but fails to disclose other behavioral traits like idempotency, authentication requirements, or side effects. With no annotations, 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 very short (two sentences) and front-loaded with the action. However, it could be structured more usefully, e.g., separating usage from errors.
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?
Despite having an output schema, the description is too sparse given the tool's complexity (7 parameters, many siblings). It omits the resource scope (contact number vs URL/address/email) and usage context, leaving the agent underinformed.
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 86% description coverage, so the schema provides most parameter meaning. The tool description adds no extra semantic value beyond listing error codes, 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 it updates a ContactNumber using its id, specifying a verb and resource. However, the tool name suggests a composite resource (url_number_address_url_email_id), causing ambiguity. It does not differentiate from sibling tools like put_address_number_address_url_email_id.
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 put_address_number_address_url_email_id or put_email_number_address_url_email_id. The description lacks context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_vpn_client_config_idC
Update the VPNServerConfig
Error codes: inval, nomem, ioerror, nodev, noent, netdown, exist, busy, none, internal, authentication_failed, auth_failed, resolv_failed, connect_timeout, connect_failed, setup_control_failed, setup_call_failed, protocol, remote_terminated, remote_disconnect
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | VPN server id | |
| type | No | VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server; `ipsec`: IPsec IKEv2 server | |
| enabled | No | is the VPN server enabled | |
| enable_ipv4 | No | enable IPv4 on this server | |
| enable_ipv6 | No | enable IPv4 on this server | |
| port | No | the server port | |
| min_port | No | This field indicate the minimum possible value for port (see ConnectionStatus ipv4_port_range) | |
| max_port | No | This field indicate the maximum possible value for port (see ConnectionStatus ipv4_port_range) | |
| port_ike | No | IPSec ike server port | |
| port_nat | No | IPSec nat server port | |
| conf_pptp | No | only available when type is PPTP | |
| conf_openvpn | No | only available when type is OpenVPN | |
| conf_ipsec | No | only available when type is IPsec | |
| ip_start | No | start of the IP range that will be used to give clients an IP | |
| ip_end | No | end of the IP range that will be used to give clients an IP | |
| ip6_start | No | start of the IPv6 range that will be used to give clients an IPv6 | |
| ip6_end | No | end of the IPv6 range that will be used to give clients an IPv6 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists numerous error codes, providing some insight into possible failure modes. However, with no annotations, it lacks disclosure on destructive behavior, authorization needs, 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 brief but includes a long list of error codes, which is helpful but not succinct. The main action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage and an output schema, the description lacks explanation of return values, side effects, and tool behavior for a complex tool with 18 parameters. It feels 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 coverage is 100%, so the description does not need to add parameter details. It adds no extra meaning beyond the schema, which is adequate but not enhanced.
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 'Update the VPNServerConfig', indicating a specific verb and resource. However, it does not differentiate from sibling tools like put_vpn_openvpn_routed_config or post_vpn_client_config.
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. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_vpn_openvpn_routed_configC
Update the VPNServerConfig
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | VPN server id | |
| type | No | VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server; `ipsec`: IPsec IKEv2 server | |
| enabled | No | is the VPN server enabled | |
| enable_ipv4 | No | enable IPv4 on this server | |
| enable_ipv6 | No | enable IPv4 on this server | |
| port | No | the server port | |
| min_port | No | This field indicate the minimum possible value for port (see ConnectionStatus ipv4_port_range) | |
| max_port | No | This field indicate the maximum possible value for port (see ConnectionStatus ipv4_port_range) | |
| port_ike | No | IPSec ike server port | |
| port_nat | No | IPSec nat server port | |
| conf_pptp | No | only available when type is PPTP | |
| conf_openvpn | No | only available when type is OpenVPN | |
| conf_ipsec | No | only available when type is IPsec | |
| ip_start | No | start of the IP range that will be used to give clients an IP | |
| ip_end | No | end of the IP range that will be used to give clients an IP | |
| ip6_start | No | start of the IPv6 range that will be used to give clients an IPv6 | |
| ip6_end | No | end of the IPv6 range that will be used to give clients an IPv6 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It only lists cryptic error codes without explanation (e.g., 'inval', 'exist'). It does not disclose whether the operation is idempotent, what happens on success, necessary permissions, or side effects. The error list is unhelpful without 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 short (two sentences), but the first sentence is vague and the second is a list of error codes. Important information about purpose or usage is not front-loaded. While it is concise, it lacks structure and prioritization of key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 17 parameters, nested objects, and no output schema provided (though context says it exists), the description is insufficient. It does not explain the overall function, required context (e.g., which server to update, how to specify id), or any relationship to other VPN configs. The lack of annotations exacerbates the incompleteness.
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 all 17 parameters with descriptions (100% coverage). However, the description adds no additional semantic value beyond what the schema already provides. According to guidelines, with high coverage, baseline is 3, and no extra context is given, so score remains 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 states 'Update the VPNServerConfig', which indicates a mutation, but it is vague about which specific VPN server config. The tool name includes 'openvpn_routed_config', but the description does not mention OpenVPN or routing. It fails to distinguish from siblings like 'put_vpn_client_config_id' or 'put_vpn_user_login' that also update VPN configurations. A specific verb and resource are present, but the scope is unclear.
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 other VPN-related PUT tools. There is no mention of prerequisites, scenarios, or alternatives. The description does not help an AI agent decide between this and similar sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_vpn_user_loginC
Updates the VPNUser task with the given login
Error codes: inval, exist, noent, nomem, unsupp, inuse, busy, ioerror, size
| Name | Required | Description | Default |
|---|---|---|---|
| login__path | Yes | (Path parameter) | |
| login | No | VPN user login | |
| password | No | VPN user password (length must be between 8 and 32) | |
| password_set | No | True if a password was provided for this user | |
| ip_reservation | No | You can specify the IP you want to assign to this user. If you don’t want to use a specific IP pass an empty string or omit this property. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must convey behavioral traits. It only lists error codes (inval, exist, etc.) without explaining their meaning or conditions. It does not disclose whether the operation is idempotent, what side effects occur (e.g., overwriting existing fields), or required permissions. The error list provides some insight but is insufficient for an update 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 short (two sentences) and front-loads the purpose. However, the error code list is unstructured and mixed inline, which reduces readability. The conciseness is acceptable but could be improved by better formatting or summarizing error conditions.
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 is an update with 5 parameters and an output schema exists, the description still lacks important context. It does not explain parameter interdependencies (e.g., password_set must be true if password provided), success output behavior, or typical usage scenarios. The error codes are listed but not mapped to parameter conditions.
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, describing all 5 parameters (login__path, login, password, password_set, ip_reservation) with clear types and constraints. The description adds no further semantic context beyond the schema. Since schema does the heavy lifting, a 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 states 'Updates the VPNUser task with the given login', which clearly indicates a verb ('Updates') and resource ('VPNUser task'). This distinguishes it from sibling tools like post_vpn_user (create) and get_vpn_user_login (read). However, the term 'VPNUser task' is somewhat ambiguous and could be more specific (e.g., VPN user configuration).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., post_vpn_user for creation, delete_vpn_user_login for deletion). There is no mention of prerequisites, contextual conditions, or exclusions. The description lacks explicit when-to-use and when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_wifi_ap_idC
Update the WifiAp
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | wifi ap id | |
| name | No | wifi ap name | |
| status | No | ap status | |
| capabilites | No | ap capabilities | |
| config | No | ap configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 lists error codes without explaining side effects, permissions, or operational impacts. The error codes hint at possible failures but lack explanation.
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 but the error code list is long and poorly formatted. It starts with the clear statement but then dumps a raw list. While concise, it sacrifices structure and readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the input schema (nested objects, many parameters) and presence of an output schema, the description should provide an overview of what the update does, which fields are modifiable, and any constraints. It only says 'Update the WifiAp' and lists error codes, which is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes parameters. The description adds a list of error codes not in the schema, providing some extra context. However, it does not elaborate on parameter semantics or relationships.
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 'Update the WifiAp', specifying a verb and resource. It distinguishes from sibling tools like put_wifi_config or put_wifi_bss_id by focusing on the AP itself. However, it lacks further context about what exactly is updated, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as put_wifi_config or put_wifi_bss_id. The description does not explain the context or prerequisites for updating a WifiAp.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_wifi_bss_idC
Update the WifiAp
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| id__path | Yes | (Path parameter) | |
| id | No | wifi ap id | |
| name | No | wifi ap name | |
| status | No | ap status | |
| capabilites | No | ap capabilities | |
| config | No | ap configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It only lists error codes, which hint at possible failures but do not disclose side effects, permissions, mutability, or idempotency. The 'Update' verb implies mutation, but no details are 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?
The description is short but not optimally structured. The action is front-loaded, but the error code list is lengthy and could be separated. It conveys minimal information without being succinctly helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, output schema), the description is incomplete. It fails to explain the tool's role among similar put_* tools, the significance of error codes, or what the output represents. The error codes list is useful but insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all parameters. The description adds no additional meaning beyond what is in the schema. Baseline 3 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?
Description states 'Update the WifiAp', but the tool name is 'put_wifi_bss_id', creating confusion about what exactly is updated (BSS ID vs. WifiAp). The purpose is vague and not clearly differentiated from sibling tools like put_wifi_ap_id.
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 put_wifi_ap_id or put_wifi_config. The description provides no context for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_wifi_configC
Update the WifiGlobalConfig
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | is wifi enabled | |
| mac_filter_state | No | Values: `disabled`: mac filter is disabled; `whitelist`: mac filter is enabled, using a whitelist; `blacklist`: mac filter is enabled, using a blacklist |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden of behavioral disclosure. It mentions 'Update' implying mutation and lists many error codes, which hint at failure modes. However, it does not describe side effects, required permissions, or reversibility of the update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose. The list of error codes, though lengthy, provides useful information. It is efficient without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (not shown) and the tool's 2 well-documented parameters, the description still lacks context about what WifiGlobalConfig is and how it relates to other WiFi tools. It does not help the agent decide between this and sibling tools like put_wifi_ap_id.
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 the schema descriptions for 'enabled' and 'mac_filter_state'. It does not explain how these parameters affect the global config.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'WifiGlobalConfig', making the core action obvious. However, it does not differentiate from sibling tools like put_wifi_ap_id or put_wifi_bss_id, which also update WiFi-related configurations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as other WiFi put tools. It lacks context for prerequisites, when to use, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_wifi_mac_filter_filter_idC
Update a WifiMacFilter properties
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | ||
| id | No | filter id | |
| mac | No | MAC address to filter | |
| comment | No | comment | |
| type | No | Values: `whitelist`: if mac_filter is set to whitelist this station will be allowed; `blacklist`: if mac_filter is set to blacklist this station will be rejected | |
| hostname | No | host name when available | |
| host | No | host information when available |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states 'Update' (implying mutation) and lists error codes, but does not mention side effects, authentication requirements, or whether the update is partial or full replacement.
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 a single sentence and an error code list, front-loading the core purpose. However, it could be more informative 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 complexity (7 parameters, nested objects, mutation) and lack of annotations, the description is inadequate. It does not explain the update semantics (e.g., partial vs full replacement), return behavior, or how to interpret error codes, despite having an output schema that could compensate.
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 (86%), so the baseline is 3. The description does not add any parameter-level meaning beyond the schema; for example, it does not clarify the distinction between 'filter_id' and 'id' (both described as filter ID in 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 it updates a WifiMacFilter, which distinguishes it from siblings like delete_wifi_mac_filter_filter_id and post_wifi_mac_filter. However, it does not explicitly mention that it updates an existing filter by its filter_id, though the tool name implies it.
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 (e.g., create or delete), lacks prerequisites or context, and only lists error codes without explaining when they occur or how to handle them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put_wifi_planningD
Get the list of WifiChannelUsage for the given AP
Error codes: inval, exist, nospc, nodev, noent, busy, inval_band, inval_ssid, inval_freq, inval_cipher, inval_key_len, inval_key, inval_ht_mode, inval_ht_needs_wmm, inval_ac_needs_ht, inval_ac_not_2d4g
| Name | Required | Description | Default |
|---|---|---|---|
| channel | No | channel number | |
| band | No | Values: `2d4g`: 2.4 GHz; `5g`: 5 GHz; `60g`: 60 GHz | |
| noise_level | No | noise level on channel in dB | |
| rx_busy_percent | No | rx channel busy time percentage |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is contradictory (GET vs PUT) and lacks behavioral details such as whether the tool is destructive, idempotent, or requires certain prerequisites. Error codes are listed but do not compensate for the missing 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 short but contains a major verb conflict that undermines its usefulness. The error code list is not concise and could be better structured or moved to separate documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown), the description fails to explain the tool's action, required conditions, or expected outcome. It is incomplete for a tool with 4 optional parameters and a PUT 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?
All parameters have descriptions in the input schema (100% coverage), so the schema already provides their meaning. The description adds no additional semantic value beyond listing error codes, which are not tied to specific 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 says 'Get the list of WifiChannelUsage for the given AP', which directly contradicts the PUT verb in the tool name. It does not state that the tool updates or creates a wifi planning entry, making the purpose misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. Sibling tools include get_wifi_planning and put_parental_filter_id_planning, but the description offers no differentiation or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
102 tool updates
v0.1.1- Changed
delete_address_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_call_log_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_contact_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_dhcp_static_lease_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_downloads_feeds_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_downloads_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_downloads_id_erase1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_downloads_task_id_blacklist_empty1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_downloads_task_id_trackers_announce1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_email_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_fs_tasks_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_fw_redir_redir_id1 field changed- changed
Input schema / properties / redir_id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_number_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_parental_filter_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_pvr_finished_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_pvr_programmed_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_upload_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_upload_id_cancel1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_upnpigd_redir_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_url_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_vpn_client_config_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_vpn_connection_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
delete_wifi_mac_filter_filter_id1 field changed- changed
Input schema / properties / filter_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_address_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_call_log_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_contact_contact_id_numbers_addresses_urls_emails1 field changed- changed
Input schema / properties / contact_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_contact_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_dhcp_static_lease_id2 fields changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string" - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_downloads_feeds_feed_id_items1 field changed- changed
Input schema / properties / feed_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_feeds_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_id_log1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_task_id_blacklist1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_task_id_files1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_task_id_peers1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_task_id_pieces1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_downloads_task_id_trackers1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_email_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_freeplug_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_fs_tasks_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_fs_tasks_id_hash1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_fw_incoming_port_id1 field changed- changed
Input schema / properties / port_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_fw_redir_redir_id1 field changed- changed
Input schema / properties / redir_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_lan_browser_interface_hostid1 field changed- changed
Input schema / properties / hostid / typePrevious value: -"integer"New value: +"string"
- Changed
get_number_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_parental_filter_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_parental_filter_id_planning1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_pvr_finished_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_pvr_programmed_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_storage_disk_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_storage_partition_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_switch_port_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_switch_port_id_stats1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_upload_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_url_number_address_url_email_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_vpn_client_config_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_vpn_download_config_server_name_login1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_vpn_vpn_id_config1 field changed- changed
Input schema / properties / vpn_id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_ap_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_ap_id_allowed_channel_comb1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_ap_id_channel_usage1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_ap_id_neighbors1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_ap_id_stations1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_bss_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
get_wifi_mac_filter_filter_id1 field changed- changed
Input schema / properties / filter_id / typePrevious value: -"integer"New value: +"string"
- Removed
get_ws_upload - Changed
post_downloads_feeds_feed_id_items_item_id_download2 fields changed- changed
Input schema / properties / feed_id / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / item_id / typePrevious value: -"integer"New value: +"string"
- Changed
post_downloads_feeds_feed_id_items_mark_all_as_read1 field changed- changed
Input schema / properties / feed_id / typePrevious value: -"integer"New value: +"string"
- Changed
post_downloads_feeds_id_fetch1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
post_downloads_task_id_trackers1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
post_freeplug_id_reset1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
post_vpn_client_config4 fields changed- removed
Input schema / $defsRemoved value: -{ - "VPNClientConfig": { - "properties": { - "active": { - "description": "is this configuration active. Only one configuration is active at a time.", - "type": "boolean" - }, - "allowed_auth": { - "description": "allowed authentication methods dictionnary with following keys:", - "type": "object" - }, - "conf_pptp": { - "$ref": "#/$defs/VPNClientConfig", - "description": "only available when type is PPTP" - }, - "description": { - "description": "VPN description", - "type": "string" - }, - "id": { - "description": "VPN config id", - "type": "string" - }, - "mppe": { - "description": "Values: `disable`: disable mppe; `require`: require mppe; `require_128`: require 128 bits mppe", - "enum": [ - "disable", - "require", - "require_128" - ], - "type": "string" - }, - "password": { - "description": "VPN password", - "type": "string" - }, - "remote_host": { - "description": "remote host IP or name", - "type": "string" - }, - "type": { - "description": "VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server", - "enum": [ - "pptp", - "openvpn" - ], - "type": "string" - }, - "username": { - "description": "VPN username", - "type": "string" - } - }, - "type": "object" - } -} - removed
Input schema / properties / conf_pptp / $refRemoved value: -"#/$defs/VPNClientConfig" - added
Input schema / properties / conf_pptp / additionalPropertiesAdded value: +true - added
Input schema / properties / conf_pptp / typeAdded value: +"object"
- Changed
post_wifi_ap_id_neighbors_scan1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
put_address_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_call_log_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_contact_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_dhcp_static_lease_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
put_downloads_feeds_feed_id_items_item_id2 fields changed- changed
Input schema / properties / feed_id / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / item_id / typePrevious value: -"integer"New value: +"string"
- Changed
put_downloads_feeds_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_downloads_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_downloads_task_id_files_file_id2 fields changed- changed
Input schema / properties / file_id / typePrevious value: -"integer"New value: +"string" - changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
put_downloads_task_id_trackers_announce1 field changed- changed
Input schema / properties / task_id / typePrevious value: -"integer"New value: +"string"
- Changed
put_email_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_fs_tasks_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_fw_incoming_port_id1 field changed- changed
Input schema / properties / port_id / typePrevious value: -"integer"New value: +"string"
- Changed
put_fw_redir_redir_id1 field changed- changed
Input schema / properties / redir_id / typePrevious value: -"integer"New value: +"string"
- Changed
put_lan_browser_interface_hostid1 field changed- changed
Input schema / properties / hostid / typePrevious value: -"integer"New value: +"string"
- Changed
put_number_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_parental_filter_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_parental_filter_id_planning1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
put_pvr_finished_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_pvr_programmed_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_storage_disk_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
put_storage_disk_id_format1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_storage_partition_id1 field changed- changed
Input schema / properties / id / typePrevious value: -"integer"New value: +"string"
- Changed
put_storage_partition_id_check1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_switch_port_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_url_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_vpn_client_config_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_wifi_ap_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_wifi_bss_id1 field changed- changed
Input schema / properties / id__path / typePrevious value: -"integer"New value: +"string"
- Changed
put_wifi_mac_filter_filter_id1 field changed- changed
Input schema / properties / filter_id / typePrevious value: -"integer"New value: +"string"
139 tool updates
- Changed
delete_address_number_address_url_email_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_call_log_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the CallEntry to delete." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_contact_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the ContactEntry to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_dhcp_static_lease_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"DHCP static lease object id (the host mac address)" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer"
- Changed
delete_downloads_blacklist_host1 field changed- removed
Input schema / properties / host / descriptionRemoved value: -"IP of the blacklist entry to delete"
- Changed
delete_downloads_feeds_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the DownloadFeed to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_downloads_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Download task to delete (without erasing files)" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_downloads_id_erase1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Download task to delete and erase its downloaded files"
- Changed
delete_downloads_task_id_blacklist_empty1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task whose blacklist to empty (also removes global entries)"
- Changed
delete_downloads_task_id_trackers_announce2 fields changed- removed
Input schema / properties / announce / descriptionRemoved value: -"announce URL of the tracker to remove" - removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task"
- Changed
delete_email_number_address_url_email_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_fs_tasks_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the FsTask task to delete (stops it if running)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_fw_redir_redir_id2 fields changed- removed
Input schema / properties / redir_id / descriptionRemoved value: -"Id of the port forwarding rule to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_number_number_address_url_email_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_parental_filter_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the ParentalFilter rule to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_pvr_finished_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Frecord to delete along with its associated files" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_pvr_programmed_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Precord to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_share_link_token2 fields changed- removed
Input schema / properties / token / descriptionRemoved value: -"Unique sharing token of the ShareLink to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_upload_clean1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_upload_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the FileUpload to delete (closing the connection if needed)" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_upload_id_cancel2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the in_progress FileUpload to cancel (closing the connection)" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_upnpigd_redir_id3 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"the id of the UPnPRedir redirection to delete" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_url_number_address_url_email_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_vpn_client_config_id3 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"VPN client config id to delete" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_vpn_connection_id3 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Connection id of the VPN connection to close" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_vpn_user_login2 fields changed- removed
Input schema / properties / login / descriptionRemoved value: -"Login of the VPN user to delete" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
delete_wifi_mac_filter_filter_id3 fields changed- removed
Input schema / properties / filter_id / descriptionRemoved value: -"mac filter id" - changed
Input schema / properties / filter_id / typePrevious value: -"string"New value: +"integer" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Removed
freebox_authorize - Removed
freebox_login - Removed
freebox_status - Changed
get_address_number_address_url_email_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to return"
- Changed
get_airmedia_receivers1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_call_log1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_call_log_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the CallEntry to retrieve."
- Changed
get_connection_ddns_provider1 field changed- removed
Input schema / properties / provider / descriptionRemoved value: -"DynDNS provider name (one of ovh, dyndns, noip)"
- Changed
get_connection_ddns_provider_status1 field changed- removed
Input schema / properties / provider / descriptionRemoved value: -"DynDNS provider name (one of ovh, dyndns, noip)"
- Changed
get_contact4 fields changed- removed
Input schema / properties / group_idRemoved value: -{ - "description": "return only the contacts that belong to this group", - "type": "integer" -} - removed
Input schema / properties / limitRemoved value: -{ - "description": "limit of contacts to return (-1 means no limit)", - "type": "integer" -} - removed
Input schema / properties / startRemoved value: -{ - "description": "offset of the first contact to return", - "type": "integer" -} - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_contact_contact_id_numbers_addresses_urls_emails1 field changed- removed
Input schema / properties / contact_id / descriptionRemoved value: -"id of the contact whose numbers/addresses/urls/emails are returned"
- Changed
get_contact_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the ContactEntry to return"
- Changed
get_dhcp_static_lease_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"DHCP static lease object id (the host mac address)" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer"
- Changed
get_dl_path2 fields changed- removed
Input schema / properties / path / descriptionRemoved value: -"Base64-encoded path of the file to download; returns the raw file contents." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object", + "x-fastmcp-wrap-result": true +}
- Changed
get_downloads1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_downloads_feeds_feed_id_items1 field changed- removed
Input schema / properties / feed_id / descriptionRemoved value: -"id of the DownloadFeed whose items are returned"
- Changed
get_downloads_feeds_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the DownloadFeed to retrieve"
- Changed
get_downloads_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Download task to retrieve"
- Changed
get_downloads_id_log1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the Download task whose log to retrieve"
- Changed
get_downloads_task_id_blacklist1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task whose blacklist entries to list"
- Changed
get_downloads_task_id_files1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task whose files to list"
- Changed
get_downloads_task_id_peers1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the bittorrent download task whose peers to list"
- Changed
get_downloads_task_id_pieces1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task whose piece status string to retrieve"
- Changed
get_downloads_task_id_trackers1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the bittorrent download task whose trackers to list"
- Changed
get_email_number_address_url_email_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to return"
- Changed
get_freeplug_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"Freeplug unique id of the freeplug to retrieve" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer"
- Changed
get_fs_info_path1 field changed- removed
Input schema / properties / path / descriptionRemoved value: -"Base64-encoded path of the file or folder to get FileInfo for."
- Changed
get_fs_ls_path4 fields changed- removed
Input schema / properties / countSubFolderRemoved value: -{ - "description": "Return files and subfolder count for folders.", - "type": "boolean" -} - removed
Input schema / properties / onlyFolderRemoved value: -{ - "description": "Only list folders.", - "type": "boolean" -} - removed
Input schema / properties / path / descriptionRemoved value: -"Base64-encoded path of the directory to list." - removed
Input schema / properties / removeHiddenRemoved value: -{ - "description": "Don't return hidden files in directory listing.", - "type": "boolean" -}
- Changed
get_fs_tasks1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_fs_tasks_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the FsTask task to retrieve."
- Changed
get_fs_tasks_id_hash1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the completed hash FsTask whose computed hash value is returned."
- Changed
get_fw_incoming_port_id2 fields changed- removed
Input schema / properties / port_id / descriptionRemoved value: -"Id of the incoming port to retrieve (e.g. http, bittorrent-main)" - changed
Input schema / properties / port_id / typePrevious value: -"string"New value: +"integer"
- Changed
get_fw_redir_redir_id1 field changed- removed
Input schema / properties / redir_id / descriptionRemoved value: -"Id of the port forwarding rule to retrieve"
- Changed
get_lan_browser_interface1 field changed- removed
Input schema / properties / interface / descriptionRemoved value: -"Name of the LAN browser interface to list hosts on"
- Changed
get_lan_browser_interface_hostid3 fields changed- removed
Input schema / properties / hostid / descriptionRemoved value: -"Id of the host whose properties are requested" - changed
Input schema / properties / hostid / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / interface / descriptionRemoved value: -"Name of the LAN browser interface the host is on"
- Changed
get_number_number_address_url_email_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to return"
- Changed
get_parental_filter_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the ParentalFilter rule to retrieve"
- Changed
get_parental_filter_id_planning1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the parental filter rule whose planning is retrieved"
- Changed
get_pvr_finished_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the requested Frecord"
- Changed
get_pvr_programmed_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the requested Precord"
- Changed
get_rrd5 fields changed- removed
Input schema / properties / date_endRemoved value: -{ - "description": "The requested end timestamp of the stats to get", - "type": "integer" -} - removed
Input schema / properties / date_startRemoved value: -{ - "description": "The requested start timestamp of the stats to get", - "type": "integer" -} - removed
Input schema / properties / dbRemoved value: -{ - "description": "Name of the rrd database to read. It can take one of the following values — Values: `net`: network stats; `temp`: temperature stats; `dsl`: xDSL stats; `switch`: switch stats", - "enum": [ - "net", - "temp", - "dsl", - "switch" - ], - "type": "string" -} - removed
Input schema / properties / fieldsRemoved value: -{ - "description": "If you are only interested in getting some fields you can provide the list of fields you want to get.", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / precisionRemoved value: -{ - "description": "By default all values are cast to int, if you need floating point precision you can provide a precision factor that will be applied to all values before being returned.", - "type": "integer" -}
- Changed
get_share_link1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_share_link_token1 field changed- removed
Input schema / properties / token / descriptionRemoved value: -"Unique sharing token of the ShareLink to retrieve"
- Changed
get_storage_disk_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"the disk id to retrieve"
- Changed
get_storage_partition_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"the partition id to retrieve"
- Changed
get_switch_port_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"switch port id to get the configuration for"
- Changed
get_switch_port_id_stats1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"switch port id to get the statistics for"
- Changed
get_upload_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"Id of the FileUpload whose progress to track"
- Changed
get_url_number_address_url_email_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the contact number/address/url/email to return"
- Changed
get_vpn_client_config_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"VPN client config id to retrieve" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer"
- Changed
get_vpn_download_config_server_name_login3 fields changed- removed
Input schema / properties / login / descriptionRemoved value: -"VPN user login to generate the configuration file for" - removed
Input schema / properties / server_name / descriptionRemoved value: -"Name of the OpenVPN server to generate the configuration file for" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_vpn_ip_pool1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_vpn_user_login1 field changed- removed
Input schema / properties / login / descriptionRemoved value: -"Login of the VPN user to retrieve"
- Changed
get_vpn_vpn_id_config2 fields changed- removed
Input schema / properties / vpn_id / descriptionRemoved value: -"Id of the VPN server to get the configuration for" - changed
Input schema / properties / vpn_id / typePrevious value: -"string"New value: +"integer"
- Changed
get_wifi_ap1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_ap_id1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id"
- Changed
get_wifi_ap_id_allowed_channel_comb2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_ap_id_channel_usage2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_ap_id_neighbors2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_ap_id_stations2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_bss_id2 fields changed- removed
Input schema / properties / id / descriptionRemoved value: -"bss id (bssid MAC address)" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer"
- Changed
get_wifi_mac_filter1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_wifi_mac_filter_filter_id2 fields changed- removed
Input schema / properties / filter_id / descriptionRemoved value: -"mac filter id" - changed
Input schema / properties / filter_id / typePrevious value: -"string"New value: +"integer"
- Changed
get_ws_upload7 fields changed- removed
Input schema / properties / actionRemoved value: -{ - "description": "must be ‘upload_start’", - "type": "string" -} - removed
Input schema / properties / dirnameRemoved value: -{ - "description": "the destination directory (encoded value)", - "type": "string" -} - removed
Input schema / properties / filenameRemoved value: -{ - "description": "the destination filename", - "type": "string" -} - removed
Input schema / properties / forceRemoved value: -{ - "description": "select the way conflicts are handled — Values: `missing`: The response to the FileUploadStartAction will be an error with ‘destination_conflict’ if the destination file already exists. The response will also contain a file_size attribute containing the existing file length (useful for resuming upload); `overwrite`: If the target file already exists it will be overridden; `resume`: The upload will resume, all sent chunks will then be appended to the existing file.", - "enum": [ - "missing", - "overwrite", - "resume" - ], - "type": "string" -} - removed
Input schema / properties / request_idRemoved value: -{ - "description": "optional request_id", - "type": "integer" -} - removed
Input schema / properties / sizeRemoved value: -{ - "description": "optional file size", - "type": "integer" -} - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_airmedia_receviers_receiver_name6 fields changed- removed
Input schema / properties / actionRemoved value: -{ - "description": "Values: `start`: start playing a media; `stop`: stop playing a media", - "enum": [ - "start", - "stop" - ], - "type": "string" -} - removed
Input schema / properties / mediaRemoved value: -{ - "description": "The media to play.", - "type": "string" -} - removed
Input schema / properties / media_typeRemoved value: -{ - "description": "Values: `photo`: display a photo; `video`: display a video", - "enum": [ - "photo", - "video" - ], - "type": "string" -} - removed
Input schema / properties / passwordRemoved value: -{ - "description": "Optional receiver password.", - "type": "string" -} - removed
Input schema / properties / positionRemoved value: -{ - "description": "Start position for a video.", - "type": "integer" -} - removed
Input schema / properties / receiver_name / descriptionRemoved value: -"Name of the AirMedia receiver to send the media request to"
- Changed
post_call_log_delete_all9 fields changed- added
Input schema / properties / contact_idAdded value: +{ + "description": "If the number matches an entry in the contact database, the id of the matching contact.", + "type": "integer" +} - added
Input schema / properties / datetimeAdded value: +{ + "description": "Call creation timestamp. — Unix timestamp (seconds since epoch).", + "type": "integer" +} - added
Input schema / properties / durationAdded value: +{ + "description": "Call duration in seconds.", + "type": "integer" +} - added
Input schema / properties / idAdded value: +{ + "description": "id", + "type": "integer" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Callee name for outgoing calls. Caller name for incoming calls.", + "type": "string" +} - added
Input schema / properties / newAdded value: +{ + "description": "Call entry as not been acknowledged yet.", + "type": "boolean" +} - added
Input schema / properties / numberAdded value: +{ + "description": "Callee number for outgoing calls. Caller number for incoming calls.", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "The valid call types are: — Values: `missed`: Missed incoming call; `accepted`: Incoming call; `outgoing`: Outgoing call", + "enum": [ + "missed", + "accepted", + "outgoing" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
post_call_log_mark_all_as_read9 fields changed- added
Input schema / properties / contact_idAdded value: +{ + "description": "If the number matches an entry in the contact database, the id of the matching contact.", + "type": "integer" +} - added
Input schema / properties / datetimeAdded value: +{ + "description": "Call creation timestamp. — Unix timestamp (seconds since epoch).", + "type": "integer" +} - added
Input schema / properties / durationAdded value: +{ + "description": "Call duration in seconds.", + "type": "integer" +} - added
Input schema / properties / idAdded value: +{ + "description": "id", + "type": "integer" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Callee name for outgoing calls. Caller name for incoming calls.", + "type": "string" +} - added
Input schema / properties / newAdded value: +{ + "description": "Call entry as not been acknowledged yet.", + "type": "boolean" +} - added
Input schema / properties / numberAdded value: +{ + "description": "Callee number for outgoing calls. Caller number for incoming calls.", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "The valid call types are: — Values: `missed`: Missed incoming call; `accepted`: Incoming call; `outgoing`: Outgoing call", + "enum": [ + "missed", + "accepted", + "outgoing" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
post_dhcp_static_lease7 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Input schema / properties / commentRemoved value: -{ - "description": "an optional comment", - "type": "string" -} - removed
Input schema / properties / hostRemoved value: -{ - "description": "LAN host information from LAN browser (refer to LanHost documentation)", - "properties": { - "active": { - "description": "If true the host sends traffic to the Freebox", - "type": "boolean" - }, - "host_type": { - "description": "When possible, the Freebox will try to guess the host_type, but you can manually override this to the correct value — Values: `workstation`: Workstation; `laptop`: Laptop; `smartphone`: Smartphone; `tablet`: Tablet; `printer`: Printer; `vg_console`: Video game console; `television`: TV; `nas`: Nas; `ip_camera`: IP Camera; `ip_phone`: IP Phone; `freebox_player`: Freebox Player; `freebox_hd`: Freebox Server; `networking_device`: Networking device; `multimedia_device`: Multimedia device; `other`: Other", - "enum": [ - "workstation", - "laptop", - "smartphone", - "tablet", - "printer", - "vg_console", - "television", - "nas", - "ip_camera", - "ip_phone", - "freebox_player", - "freebox_hd", - "networking_device", - "multimedia_device", - "other" - ], - "type": "string" - }, - "id": { - "description": "Host id (unique on this interface)", - "type": "string" - }, - "l2ident": { - "description": "Layer 2 network id and its type", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "id": { - "description": "Layer 2 id", - "type": "string" - }, - "type": { - "description": "Values: `dhcp`: DHCP; `netbios`: Netbios; `mdns`: mDNS; `upnp`: UPnP", - "enum": [ - "dhcp", - "netbios", - "mdns", - "upnp" - ], - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "l3connectivities": { - "description": "List of available layer 3 network connections", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "active": { - "description": "is the connection active", - "type": "boolean" - }, - "addr": { - "description": "Layer 3 address", - "type": "string" - }, - "af": { - "description": "Values: `ipv4`: IPv4; `ipv6`: IPv6", - "enum": [ - "ipv4", - "ipv6" - ], - "type": "string" - }, - "last_activity": { - "description": "last activity timestamp — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "last_time_reachable": { - "description": "last reachable timestamp — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "reachable": { - "description": "is the connection reachable", - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "last_activity": { - "description": "Last time the host sent traffic — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "last_time_reachable": { - "description": "Last time the host was reached — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "names": { - "description": "List of available names, and their source", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "name": { - "description": "Host name", - "type": "string" - }, - "source": { - "description": "source of the name", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "persistent": { - "description": "If true the host is always shown even if it has not been active since the Freebox startup", - "type": "boolean" - }, - "primary_name": { - "description": "Host primary name (chosen from the list of available names, or manually set by user)", - "type": "string" - }, - "primary_name_manual": { - "description": "If true the primary name has been set manually", - "type": "boolean" - }, - "reachable": { - "description": "If true the host can receive traffic from the Freebox", - "type": "boolean" - }, - "vendor_name": { - "description": "Host vendor name (from the mac address)", - "type": "string" - } - }, - "type": "object" -} - removed
Input schema / properties / hostnameRemoved value: -{ - "description": "hostname matching the mac address", - "type": "string" -} - removed
Input schema / properties / idRemoved value: -{ - "description": "DHCP static lease object id", - "type": "string" -} - removed
Input schema / properties / ipRemoved value: -{ - "description": "IPv4 to assign to the host", - "type": "string" -} - removed
Input schema / properties / macRemoved value: -{ - "description": "Host mac address", - "type": "string" -}
- Changed
post_downloads_feeds_feed_id_items_item_id_download2 fields changed- removed
Input schema / properties / feed_id / descriptionRemoved value: -"id of the DownloadFeed containing the item" - removed
Input schema / properties / item_id / descriptionRemoved value: -"id of the DownloadFeedItem to enqueue for download"
- Changed
post_downloads_feeds_feed_id_items_mark_all_as_read1 field changed- removed
Input schema / properties / feed_id / descriptionRemoved value: -"id of the DownloadFeed whose items are marked as read"
- Changed
post_downloads_feeds_id_fetch1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the DownloadFeed to remotely refresh"
- Changed
post_downloads_task_id_trackers1 field changed- removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the bittorrent download task to add a tracker to"
- Changed
post_freeplug_id_reset15 fields changed- added
Input schema / properties / eth_full_duplexAdded value: +{ + "description": "ethernet link is full duplex", + "type": "boolean" +} - added
Input schema / properties / eth_port_statusAdded value: +{ + "description": "Values: `up`: The ethernet port is up; `down`: The ethernet port is down; `unknown`: The ethernet port state is unknown", + "enum": [ + "up", + "down", + "unknown" + ], + "type": "string" +} - added
Input schema / properties / eth_speedAdded value: +{ + "description": "ethernet port speed", + "type": "integer" +} - added
Input schema / properties / has_networkAdded value: +{ + "description": "is connected to the network", + "type": "boolean" +} - changed
Input schema / properties / id / descriptionPrevious value: -"Freeplug unique id of the freeplug to reset"New value: +"Freeplug unique id" - added
Input schema / properties / id__pathAdded value: +{ + "description": "(Path parameter)", + "type": "integer" +} - added
Input schema / properties / inactiveAdded value: +{ + "description": "seconds since last activity", + "type": "integer" +} - added
Input schema / properties / localAdded value: +{ + "description": "if true the Freeplug is connected directly to the Freebox", + "type": "boolean" +} - added
Input schema / properties / modelAdded value: +{ + "description": "Freebox Server netbios name", + "type": "string" +} - added
Input schema / properties / net_idAdded value: +{ + "description": "network id", + "type": "string" +} - added
Input schema / properties / net_roleAdded value: +{ + "description": "Values: `sta`: Freeplug Station; `pco`: Freeplug proxy coordinator; `cco`: Central coordinator", + "enum": [ + "sta", + "pco", + "cco" + ], + "type": "string" +} - added
Input schema / properties / rx_rateAdded value: +{ + "description": "rx rate (from the freeplugs to the “cco” freeplug) (in Mb/s) -1 if not available", + "type": "integer" +} - added
Input schema / properties / tx_rateAdded value: +{ + "description": "tx rate (from the “cco” freeplug to the freeplugs) (in Mb/s) -1 if not available", + "type": "integer" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "id__path" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
post_fs_rename1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "type": "object", - "x-fastmcp-wrap-result": true -}New value: +null
- Changed
post_lan_wol_interface1 field changed- removed
Input schema / properties / interface / descriptionRemoved value: -"Name of the LAN browser interface the target host is on"
- Changed
post_parental_filter14 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Input schema / properties / current_mapping_idxRemoved value: -{ - "description": "current index used in planning to compute filter_state (only relevant when scheduling_mode is planning)", - "type": "integer" -} - removed
Input schema / properties / descRemoved value: -{ - "description": "a description for this rule", - "type": "string" -} - removed
Input schema / properties / filter_stateRemoved value: -{ - "description": "Values: `allowed`: access is allowed; `denied`: access is denied; `webonly`: access is granted only for HTTP and HTTPS traffic", - "enum": [ - "allowed", - "denied", - "webonly" - ], - "type": "string" -} - removed
Input schema / properties / forcedRemoved value: -{ - "description": "is set to true, the rule will not use the planning and will always stay in the forced_mode", - "type": "boolean" -} - removed
Input schema / properties / forced_modeRemoved value: -{ - "description": "the filter policy to use when forced is set to true (see filter_state for valid states)", - "type": "string" -} - removed
Input schema / properties / hostsRemoved value: -{ - "description": "the list of hostnames associated with macs", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / idRemoved value: -{ - "description": "filter id", - "type": "integer" -} - removed
Input schema / properties / ipRemoved value: -{ - "description": "only filled for old rules, you cannot set a rule with an IP", - "type": "string" -} - removed
Input schema / properties / macsRemoved value: -{ - "description": "the list of mac addresses the rule should be applied to", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / next_changeRemoved value: -{ - "description": "seconds until next filter_state change 0 means filter_state won’t change", - "type": "integer" -} - removed
Input schema / properties / scheduling_modeRemoved value: -{ - "description": "Values: `forced`: filter_state is forced to forced_mode; `temporary`: filter_state is temporary set to tmp_mode for the next tmp_mode_expire seconds; `planning`: filter_state is set using the planning", - "enum": [ - "forced", - "temporary", - "planning" - ], - "type": "string" -} - removed
Input schema / properties / tmp_modeRemoved value: -{ - "description": "the filter policy to use when tmp_mode_expire is != 0 (see filter_state for valid states)", - "type": "string" -} - removed
Input schema / properties / tmp_mode_expireRemoved value: -{ - "description": "if != 0 the rule will not use the planning for the next tmp_mode_expire seconds", - "type": "integer" -}
- Changed
post_rrd6 fields changed- removed
Input schema / properties / date_endRemoved value: -{ - "description": "The requested end timestamp of the stats to get", - "type": "integer" -} - removed
Input schema / properties / date_startRemoved value: -{ - "description": "The requested start timestamp of the stats to get", - "type": "integer" -} - removed
Input schema / properties / dbRemoved value: -{ - "description": "Name of the rrd database to read. It can take one of the following values — Values: `net`: network stats; `temp`: temperature stats; `dsl`: xDSL stats; `switch`: switch stats", - "enum": [ - "net", - "temp", - "dsl", - "switch" - ], - "type": "string" -} - removed
Input schema / properties / fieldsRemoved value: -{ - "description": "If you are only interested in getting some fields you can provide the list of fields you want to get.", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / precisionRemoved value: -{ - "description": "By default all values are cast to int, if you need floating point precision you can provide a precision factor that will be applied to all values before being returned.", - "type": "integer" -} - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "type": "object", - "x-fastmcp-wrap-result": true -}New value: +null
- Changed
post_wifi_ap_id_neighbors_scan1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"wifi access point id"
- Changed
post_wifi_config_reset7 fields changed- added
Input schema / properties / commentAdded value: +{ + "description": "comment", + "type": "string" +} - added
Input schema / properties / hostAdded value: +{ + "description": "host information when available", + "properties": { + "active": { + "description": "If true the host sends traffic to the Freebox", + "type": "boolean" + }, + "host_type": { + "description": "When possible, the Freebox will try to guess the host_type, but you can manually override this to the correct value — Values: `workstation`: Workstation; `laptop`: Laptop; `smartphone`: Smartphone; `tablet`: Tablet; `printer`: Printer; `vg_console`: Video game console; `television`: TV; `nas`: Nas; `ip_camera`: IP Camera; `ip_phone`: IP Phone; `freebox_player`: Freebox Player; `freebox_hd`: Freebox Server; `networking_device`: Networking device; `multimedia_device`: Multimedia device; `other`: Other", + "enum": [ + "workstation", + "laptop", + "smartphone", + "tablet", + "printer", + "vg_console", + "television", + "nas", + "ip_camera", + "ip_phone", + "freebox_player", + "freebox_hd", + "networking_device", + "multimedia_device", + "other" + ], + "type": "string" + }, + "id": { + "description": "Host id (unique on this interface)", + "type": "string" + }, + "l2ident": { + "description": "Layer 2 network id and its type", + "items": { + "description": "Lan Host has the following attributes:", + "properties": { + "id": { + "description": "Layer 2 id", + "type": "string" + }, + "type": { + "description": "Values: `dhcp`: DHCP; `netbios`: Netbios; `mdns`: mDNS; `upnp`: UPnP", + "enum": [ + "dhcp", + "netbios", + "mdns", + "upnp" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "l3connectivities": { + "description": "List of available layer 3 network connections", + "items": { + "description": "Lan Host has the following attributes:", + "properties": { + "active": { + "description": "is the connection active", + "type": "boolean" + }, + "addr": { + "description": "Layer 3 address", + "type": "string" + }, + "af": { + "description": "Values: `ipv4`: IPv4; `ipv6`: IPv6", + "enum": [ + "ipv4", + "ipv6" + ], + "type": "string" + }, + "last_activity": { + "description": "last activity timestamp — Unix timestamp (seconds since epoch).", + "type": "integer" + }, + "last_time_reachable": { + "description": "last reachable timestamp — Unix timestamp (seconds since epoch).", + "type": "integer" + }, + "reachable": { + "description": "is the connection reachable", + "type": "boolean" + } + }, + "type": "object" + }, + "type": "array" + }, + "last_activity": { + "description": "Last time the host sent traffic — Unix timestamp (seconds since epoch).", + "type": "integer" + }, + "last_time_reachable": { + "description": "Last time the host was reached — Unix timestamp (seconds since epoch).", + "type": "integer" + }, + "names": { + "description": "List of available names, and their source", + "items": { + "description": "Lan Host has the following attributes:", + "properties": { + "name": { + "description": "Host name", + "type": "string" + }, + "source": { + "description": "source of the name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "persistent": { + "description": "If true the host is always shown even if it has not been active since the Freebox startup", + "type": "boolean" + }, + "primary_name": { + "description": "Host primary name (chosen from the list of available names, or manually set by user)", + "type": "string" + }, + "primary_name_manual": { + "description": "If true the primary name has been set manually", + "type": "boolean" + }, + "reachable": { + "description": "If true the host can receive traffic from the Freebox", + "type": "boolean" + }, + "vendor_name": { + "description": "Host vendor name (from the mac address)", + "type": "string" + } + }, + "type": "object" +} - added
Input schema / properties / hostnameAdded value: +{ + "description": "host name when available", + "type": "string" +} - added
Input schema / properties / idAdded value: +{ + "description": "filter id", + "type": "string" +} - added
Input schema / properties / macAdded value: +{ + "description": "MAC address to filter", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "Values: `whitelist`: if mac_filter is set to whitelist this station will be allowed; `blacklist`: if mac_filter is set to blacklist this station will be rejected", + "enum": [ + "whitelist", + "blacklist" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
put_address_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the contact number/address/url/email to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_call_log_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"Id of the CallEntry to update. (Path parameter)"New value: +"(Path parameter)"
- Changed
put_connection_ddns_provider1 field changed- removed
Input schema / properties / provider / descriptionRemoved value: -"DynDNS provider name (one of ovh, dyndns, noip)"
- Changed
put_contact_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the ContactEntry to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_dhcp_static_lease_id11 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Input schema / properties / commentRemoved value: -{ - "description": "an optional comment", - "type": "string" -} - removed
Input schema / properties / hostRemoved value: -{ - "description": "LAN host information from LAN browser (refer to LanHost documentation)", - "properties": { - "active": { - "description": "If true the host sends traffic to the Freebox", - "type": "boolean" - }, - "host_type": { - "description": "When possible, the Freebox will try to guess the host_type, but you can manually override this to the correct value — Values: `workstation`: Workstation; `laptop`: Laptop; `smartphone`: Smartphone; `tablet`: Tablet; `printer`: Printer; `vg_console`: Video game console; `television`: TV; `nas`: Nas; `ip_camera`: IP Camera; `ip_phone`: IP Phone; `freebox_player`: Freebox Player; `freebox_hd`: Freebox Server; `networking_device`: Networking device; `multimedia_device`: Multimedia device; `other`: Other", - "enum": [ - "workstation", - "laptop", - "smartphone", - "tablet", - "printer", - "vg_console", - "television", - "nas", - "ip_camera", - "ip_phone", - "freebox_player", - "freebox_hd", - "networking_device", - "multimedia_device", - "other" - ], - "type": "string" - }, - "id": { - "description": "Host id (unique on this interface)", - "type": "string" - }, - "l2ident": { - "description": "Layer 2 network id and its type", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "id": { - "description": "Layer 2 id", - "type": "string" - }, - "type": { - "description": "Values: `dhcp`: DHCP; `netbios`: Netbios; `mdns`: mDNS; `upnp`: UPnP", - "enum": [ - "dhcp", - "netbios", - "mdns", - "upnp" - ], - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "l3connectivities": { - "description": "List of available layer 3 network connections", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "active": { - "description": "is the connection active", - "type": "boolean" - }, - "addr": { - "description": "Layer 3 address", - "type": "string" - }, - "af": { - "description": "Values: `ipv4`: IPv4; `ipv6`: IPv6", - "enum": [ - "ipv4", - "ipv6" - ], - "type": "string" - }, - "last_activity": { - "description": "last activity timestamp — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "last_time_reachable": { - "description": "last reachable timestamp — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "reachable": { - "description": "is the connection reachable", - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "last_activity": { - "description": "Last time the host sent traffic — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "last_time_reachable": { - "description": "Last time the host was reached — Unix timestamp (seconds since epoch).", - "type": "integer" - }, - "names": { - "description": "List of available names, and their source", - "items": { - "description": "Lan Host has the following attributes:", - "properties": { - "name": { - "description": "Host name", - "type": "string" - }, - "source": { - "description": "source of the name", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "persistent": { - "description": "If true the host is always shown even if it has not been active since the Freebox startup", - "type": "boolean" - }, - "primary_name": { - "description": "Host primary name (chosen from the list of available names, or manually set by user)", - "type": "string" - }, - "primary_name_manual": { - "description": "If true the primary name has been set manually", - "type": "boolean" - }, - "reachable": { - "description": "If true the host can receive traffic from the Freebox", - "type": "boolean" - }, - "vendor_name": { - "description": "Host vendor name (from the mac address)", - "type": "string" - } - }, - "type": "object" -} - removed
Input schema / properties / hostnameRemoved value: -{ - "description": "hostname matching the mac address", - "type": "string" -} - removed
Input schema / properties / id / descriptionRemoved value: -"DHCP static lease object id" - changed
Input schema / properties / id / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / id__pathRemoved value: -{ - "description": "DHCP static lease object id (the host mac address) (Path parameter)", - "type": "string" -} - removed
Input schema / properties / ipRemoved value: -{ - "description": "IPv4 to assign to the host", - "type": "string" -} - removed
Input schema / properties / macRemoved value: -{ - "description": "Host mac address", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "id__path" -]New value: +[ + "id" +] - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "type": "object" -}New value: +null
- Changed
put_downloads_feeds_feed_id_items_item_id23 fields changed- removed
Input schema / properties / authorRemoved value: -{ - "description": "item author", - "type": "string" -} - added
Input schema / properties / auto_downloadAdded value: +{ + "description": "If set to true, the downloader will automatically download new items", + "type": "boolean" +} - changed
Input schema / properties / desc / descriptionPrevious value: -"item description"New value: +"Feed description (extracted from the RSS)" - removed
Input schema / properties / enclosure_lengthRemoved value: -{ - "description": "enclosure size in bytes (if specified in RSS feed)", - "type": "integer" -} - removed
Input schema / properties / enclosure_typeRemoved value: -{ - "description": "enclosure mime type (if specified in RSS feed)", - "type": "string" -} - removed
Input schema / properties / enclosure_urlRemoved value: -{ - "description": "enclosure URL (if specified in RSS feed)", - "type": "string" -} - added
Input schema / properties / errorAdded value: +{ + "description": "Error code (same as used in Download or DownloadFile ).", + "type": "string" +} - removed
Input schema / properties / feed_id / descriptionRemoved value: -"id of the DownloadFeed" - removed
Input schema / properties / feed_id__pathRemoved value: -{ - "description": "id of the DownloadFeed containing the item (Path parameter)", - "type": "integer" -} - changed
Input schema / properties / fetch_ts / descriptionPrevious value: -"timestamp of the item creation — Unix timestamp (seconds since epoch)."New value: +"Last time the feed was fetched — Unix timestamp (seconds since epoch)." - added
Input schema / properties / image_urlAdded value: +{ + "description": "Feed image URL (extracted from the RSS)", + "type": "string" +} - removed
Input schema / properties / is_downloadedRemoved value: -{ - "description": "mark downloaded items, automatically set to true when RSS item is downloaded", - "type": "boolean" -} - removed
Input schema / properties / is_readRemoved value: -{ - "description": "you can mark the item as read manually, or it is marked as read automatically when the item is downloaded", - "type": "boolean" -} - removed
Input schema / properties / item_id / descriptionRemoved value: -"id of the DownloadFeedItem to update" - removed
Input schema / properties / linkRemoved value: -{ - "description": "URL of the RSS feed attachment", - "type": "string" -} - added
Input schema / properties / nb_readAdded value: +{ + "description": "Number of read items in the feed", + "type": "integer" +} - added
Input schema / properties / nb_unreadAdded value: +{ + "description": "Number of unread items in the feed", + "type": "integer" +} - changed
Input schema / properties / pub_ts / descriptionPrevious value: -"item publish timestamp — Unix timestamp (seconds since epoch)."New value: +"Last time the feed was published on remote server — Unix timestamp (seconds since epoch)." - added
Input schema / properties / statusAdded value: +{ + "description": "The feed can have the following status — Values: `ready`: feed is up to date; `fetching`: feed is updating; `error`: there was an error trying to refresh this feed, see error", + "enum": [ + "ready", + "fetching", + "error" + ], + "type": "string" +} - changed
Input schema / properties / title / descriptionPrevious value: -"item title"New value: +"Feed title (extracted from the RSS)" - added
Input schema / properties / urlAdded value: +{ + "description": "Feed URL", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "feed_id__path", - "item_id" -]New value: +[ + "feed_id", + "item_id" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
put_downloads_feeds_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the DownloadFeed to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_downloads_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the Download task to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_downloads_task_id_files_file_id3 fields changed- removed
Input schema / properties / file_id / descriptionRemoved value: -"id of the download file whose priority to change" - changed
Input schema / properties / file_id / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task"
- Changed
put_downloads_task_id_trackers_announce2 fields changed- removed
Input schema / properties / announce / descriptionRemoved value: -"announce URL of the tracker to update" - removed
Input schema / properties / task_id / descriptionRemoved value: -"id of the download task"
- Changed
put_email_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the contact number/address/url/email to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_fs_tasks_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"Id of the FsTask task to update (e.g. to change its state). (Path parameter)"New value: +"(Path parameter)"
- Changed
put_fw_dmz7 fields changed- removed
Input schema / properties / enabledRemoved value: -{ - "description": "is dmz enabled", - "type": "boolean" -} - changed
Input schema / properties / ip / descriptionPrevious value: -"dmz host IP"New value: +"Freebox Server IPv4 address" - added
Input schema / properties / nameAdded value: +{ + "description": "Freebox Server name", + "type": "string" +} - added
Input schema / properties / name_dnsAdded value: +{ + "description": "Freebox Server DNS name", + "type": "string" +} - added
Input schema / properties / name_mdnsAdded value: +{ + "description": "Freebox Server mDNS name", + "type": "string" +} - added
Input schema / properties / name_netbiosAdded value: +{ + "description": "Freebox Server netbios name", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "The valid LAN modes are: — Values: `router`: The Freebox acts as a network router; `bridge`: The Freebox acts as a network bridge", + "enum": [ + "router", + "bridge" + ], + "type": "string" +}
- Changed
put_fw_incoming_port_id2 fields changed- removed
Input schema / properties / port_id / descriptionRemoved value: -"Id of the incoming port to update (e.g. http, bittorrent-main)" - changed
Input schema / properties / port_id / typePrevious value: -"string"New value: +"integer"
- Changed
put_fw_redir_redir_id1 field changed- removed
Input schema / properties / redir_id / descriptionRemoved value: -"Id of the port forwarding rule to update"
- Changed
put_lan_browser_interface_hostid3 fields changed- removed
Input schema / properties / hostid / descriptionRemoved value: -"Id of the host whose properties are updated" - changed
Input schema / properties / hostid / typePrevious value: -"string"New value: +"integer" - removed
Input schema / properties / interface / descriptionRemoved value: -"Name of the LAN browser interface the host is on"
- Changed
put_number_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the contact number/address/url/email to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_parental_filter_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the ParentalFilter rule to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_parental_filter_id_planning1 field changed- removed
Input schema / properties / id / descriptionRemoved value: -"id of the parental filter rule whose planning is updated"
- Changed
put_pvr_finished_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the Frecord to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_pvr_programmed_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the Precord to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_storage_disk_id20 fields changed- removed
Input schema / properties / active_durationRemoved value: -{ - "description": "disk activity duration (in seconds) (when available)", - "type": "integer" -} - added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Input schema / properties / connectorRemoved value: -{ - "description": "Disk physical connector id", - "type": "integer" -} - removed
Input schema / properties / firmwareRemoved value: -{ - "description": "Disk firmware version", - "type": "string" -} - removed
Input schema / properties / id / descriptionRemoved value: -"the disk id" - removed
Input schema / properties / id__pathRemoved value: -{ - "description": "the disk id to enable/disable (Path parameter)", - "type": "integer" -} - removed
Input schema / properties / idleRemoved value: -{ - "description": "is disk idle (when available)", - "type": "boolean" -} - removed
Input schema / properties / idle_durationRemoved value: -{ - "description": "disk idle duration (in seconds) (when available)", - "type": "integer" -} - removed
Input schema / properties / modelRemoved value: -{ - "description": "Disk model", - "type": "string" -} - removed
Input schema / properties / operation_pctRemoved value: -{ - "description": "partition operation progress", - "properties": { - "done_steps": { - "description": "number of steps done", - "type": "integer" - }, - "max_steps": { - "description": "total number of steps", - "type": "integer" - }, - "percent": { - "description": "current step progress", - "type": "integer" - } - }, - "type": "object" -} - removed
Input schema / properties / partitionsRemoved value: -{ - "description": "list of disk partitions", - "items": { - "description": "Disk partitions have the following attributes:", - "properties": { - "disk_id": { - "description": "related disk id", - "type": "integer" - }, - "free_bytes": { - "description": "partition free space (in bytes)", - "type": "integer" - }, - "fsck_result": { - "description": "fsck result — Values: `no_run_yet`: Partition has not been checked yet; `running`: Check is in progress; `fs_clean`: File system is ok; `fs_corrected`: File system was corrected; `fs_needs_correction`: File system need correction; `failed`: File system has unrecoverable error", - "enum": [ - "no_run_yet", - "running", - "fs_clean", - "fs_corrected", - "fs_needs_correction", - "failed" - ], - "type": "string" - }, - "fstype": { - "enum": [ - "empty", - "unknown", - "xfs", - "ext4", - "vfat", - "ntf", - "hf", - "hfsplus", - "swap", - "exfat" - ], - "type": "string" - }, - "id": { - "description": "unique partition id", - "type": "integer" - }, - "label": { - "description": "partition name", - "type": "string" - }, - "operation_pct": { - "description": "partition operation progress", - "properties": { - "done_steps": { - "description": "number of steps done", - "type": "integer" - }, - "max_steps": { - "description": "total number of steps", - "type": "integer" - }, - "percent": { - "description": "current step progress", - "type": "integer" - } - }, - "type": "object" - }, - "path": { - "description": "partition mount point (encoded in base64 as explained in fs API)", - "type": "string" - }, - "state": { - "description": "Values: `error`: Partition has error; `checking`: Partition check in progress; `formatting`: Partition format in progress; `mounting`: Partition mount in progress; `maintenance`: Partition is in maintenance mode; `mounted`: Partition is ready; `umounting`: Partition umount in progress; `umounted`: Partition is umounted; `ejecting`: Partition ejection in progress", - "enum": [ - "error", - "checking", - "formatting", - "mounting", - "maintenance", - "mounted", - "umounting", - "umounted", - "ejecting" - ], - "type": "string" - }, - "total_bytes": { - "description": "partition size (in bytes)", - "type": "integer" - }, - "used_bytes": { - "description": "partition used space (in bytes)", - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" -} - removed
Input schema / properties / serialRemoved value: -{ - "description": "Disk serial number", - "type": "string" -} - removed
Input schema / properties / spinningRemoved value: -{ - "description": "is disk spinning (when available)", - "type": "boolean" -} - removed
Input schema / properties / stateRemoved value: -{ - "description": "Values: `error`: Disk has error; `disabled`: Disk is disabled; `enabled`: Disk is enabled; `formatting`: Disk is formatting", - "enum": [ - "error", - "disabled", - "enabled", - "formatting" - ], - "type": "string" -} - removed
Input schema / properties / table_typeRemoved value: -{ - "enum": [ - "msdos", - "gpt", - "superfloppy", - "empty" - ], - "type": "integer" -} - removed
Input schema / properties / tempRemoved value: -{ - "description": "Disk temperature (when supported) in °C", - "type": "integer" -} - removed
Input schema / properties / time_before_spindownRemoved value: -{ - "description": "seconds left before disk spin down (in seconds) (when available)", - "type": "integer" -} - removed
Input schema / properties / total_bytesRemoved value: -{ - "description": "Disk size (in bytes)", - "type": "integer" -} - removed
Input schema / properties / typeRemoved value: -{ - "description": "Values: `internal`: Freebox internal disk; `usb`: usb disk; `sata`: sata disk", - "enum": [ - "internal", - "usb", - "sata" - ], - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "id__path" -]New value: +[ + "id" +]
- Changed
put_storage_disk_id_format21 fields changed- added
Input schema / properties / active_durationAdded value: +{ + "description": "disk activity duration (in seconds) (when available)", + "type": "integer" +} - removed
Input schema / properties / bodyRemoved value: -{ - "additionalProperties": true, - "type": "object" -} - added
Input schema / properties / connectorAdded value: +{ + "description": "Disk physical connector id", + "type": "integer" +} - added
Input schema / properties / firmwareAdded value: +{ + "description": "Disk firmware version", + "type": "string" +} - changed
Input schema / properties / id / descriptionPrevious value: -"the disk id to format"New value: +"the disk id" - added
Input schema / properties / id__pathAdded value: +{ + "description": "(Path parameter)", + "type": "integer" +} - added
Input schema / properties / idleAdded value: +{ + "description": "is disk idle (when available)", + "type": "boolean" +} - added
Input schema / properties / idle_durationAdded value: +{ + "description": "disk idle duration (in seconds) (when available)", + "type": "integer" +} - added
Input schema / properties / modelAdded value: +{ + "description": "Disk model", + "type": "string" +} - added
Input schema / properties / operation_pctAdded value: +{ + "description": "partition operation progress", + "properties": { + "done_steps": { + "description": "number of steps done", + "type": "integer" + }, + "max_steps": { + "description": "total number of steps", + "type": "integer" + }, + "percent": { + "description": "current step progress", + "type": "integer" + } + }, + "type": "object" +} - added
Input schema / properties / partitionsAdded value: +{ + "description": "list of disk partitions", + "items": { + "description": "Disk partitions have the following attributes:", + "properties": { + "disk_id": { + "description": "related disk id", + "type": "integer" + }, + "free_bytes": { + "description": "partition free space (in bytes)", + "type": "integer" + }, + "fsck_result": { + "description": "fsck result — Values: `no_run_yet`: Partition has not been checked yet; `running`: Check is in progress; `fs_clean`: File system is ok; `fs_corrected`: File system was corrected; `fs_needs_correction`: File system need correction; `failed`: File system has unrecoverable error", + "enum": [ + "no_run_yet", + "running", + "fs_clean", + "fs_corrected", + "fs_needs_correction", + "failed" + ], + "type": "string" + }, + "fstype": { + "enum": [ + "empty", + "unknown", + "xfs", + "ext4", + "vfat", + "ntf", + "hf", + "hfsplus", + "swap", + "exfat" + ], + "type": "string" + }, + "id": { + "description": "unique partition id", + "type": "integer" + }, + "label": { + "description": "partition name", + "type": "string" + }, + "operation_pct": { + "description": "partition operation progress", + "properties": { + "done_steps": { + "description": "number of steps done", + "type": "integer" + }, + "max_steps": { + "description": "total number of steps", + "type": "integer" + }, + "percent": { + "description": "current step progress", + "type": "integer" + } + }, + "type": "object" + }, + "path": { + "description": "partition mount point (encoded in base64 as explained in fs API)", + "type": "string" + }, + "state": { + "description": "Values: `error`: Partition has error; `checking`: Partition check in progress; `formatting`: Partition format in progress; `mounting`: Partition mount in progress; `maintenance`: Partition is in maintenance mode; `mounted`: Partition is ready; `umounting`: Partition umount in progress; `umounted`: Partition is umounted; `ejecting`: Partition ejection in progress", + "enum": [ + "error", + "checking", + "formatting", + "mounting", + "maintenance", + "mounted", + "umounting", + "umounted", + "ejecting" + ], + "type": "string" + }, + "total_bytes": { + "description": "partition size (in bytes)", + "type": "integer" + }, + "used_bytes": { + "description": "partition used space (in bytes)", + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / properties / serialAdded value: +{ + "description": "Disk serial number", + "type": "string" +} - added
Input schema / properties / spinningAdded value: +{ + "description": "is disk spinning (when available)", + "type": "boolean" +} - added
Input schema / properties / stateAdded value: +{ + "description": "Values: `error`: Disk has error; `disabled`: Disk is disabled; `enabled`: Disk is enabled; `formatting`: Disk is formatting", + "enum": [ + "error", + "disabled", + "enabled", + "formatting" + ], + "type": "string" +} - added
Input schema / properties / table_typeAdded value: +{ + "enum": [ + "msdos", + "gpt", + "superfloppy", + "empty" + ], + "type": "integer" +} - added
Input schema / properties / tempAdded value: +{ + "description": "Disk temperature (when supported) in °C", + "type": "integer" +} - added
Input schema / properties / time_before_spindownAdded value: +{ + "description": "seconds left before disk spin down (in seconds) (when available)", + "type": "integer" +} - added
Input schema / properties / total_bytesAdded value: +{ + "description": "Disk size (in bytes)", + "type": "integer" +} - added
Input schema / properties / typeAdded value: +{ + "description": "Values: `internal`: Freebox internal disk; `usb`: usb disk; `sata`: sata disk", + "enum": [ + "internal", + "usb", + "sata" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "id__path" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
put_storage_partition_id14 fields changed- added
Input schema / properties / bodyAdded value: +{ + "additionalProperties": true, + "type": "object" +} - removed
Input schema / properties / disk_idRemoved value: -{ - "description": "related disk id", - "type": "integer" -} - removed
Input schema / properties / free_bytesRemoved value: -{ - "description": "partition free space (in bytes)", - "type": "integer" -} - removed
Input schema / properties / fsck_resultRemoved value: -{ - "description": "fsck result — Values: `no_run_yet`: Partition has not been checked yet; `running`: Check is in progress; `fs_clean`: File system is ok; `fs_corrected`: File system was corrected; `fs_needs_correction`: File system need correction; `failed`: File system has unrecoverable error", - "enum": [ - "no_run_yet", - "running", - "fs_clean", - "fs_corrected", - "fs_needs_correction", - "failed" - ], - "type": "string" -} - removed
Input schema / properties / fstypeRemoved value: -{ - "enum": [ - "empty", - "unknown", - "xfs", - "ext4", - "vfat", - "ntf", - "hf", - "hfsplus", - "swap", - "exfat" - ], - "type": "string" -} - removed
Input schema / properties / id / descriptionRemoved value: -"unique partition id" - removed
Input schema / properties / id__pathRemoved value: -{ - "description": "the partition id to enable/disable (Path parameter)", - "type": "integer" -} - removed
Input schema / properties / labelRemoved value: -{ - "description": "partition name", - "type": "string" -} - removed
Input schema / properties / operation_pctRemoved value: -{ - "description": "partition operation progress", - "properties": { - "done_steps": { - "description": "number of steps done", - "type": "integer" - }, - "max_steps": { - "description": "total number of steps", - "type": "integer" - }, - "percent": { - "description": "current step progress", - "type": "integer" - } - }, - "type": "object" -} - removed
Input schema / properties / pathRemoved value: -{ - "description": "partition mount point (encoded in base64 as explained in fs API)", - "type": "string" -} - removed
Input schema / properties / stateRemoved value: -{ - "description": "Values: `error`: Partition has error; `checking`: Partition check in progress; `formatting`: Partition format in progress; `mounting`: Partition mount in progress; `maintenance`: Partition is in maintenance mode; `mounted`: Partition is ready; `umounting`: Partition umount in progress; `umounted`: Partition is umounted; `ejecting`: Partition ejection in progress", - "enum": [ - "error", - "checking", - "formatting", - "mounting", - "maintenance", - "mounted", - "umounting", - "umounted", - "ejecting" - ], - "type": "string" -} - removed
Input schema / properties / total_bytesRemoved value: -{ - "description": "partition size (in bytes)", - "type": "integer" -} - removed
Input schema / properties / used_bytesRemoved value: -{ - "description": "partition used space (in bytes)", - "type": "integer" -} - changed
Input schema / requiredPrevious value: -[ - "id__path" -]New value: +[ + "id" +]
- Changed
put_storage_partition_id_check15 fields changed- removed
Input schema / properties / bodyRemoved value: -{ - "additionalProperties": true, - "type": "object" -} - added
Input schema / properties / disk_idAdded value: +{ + "description": "related disk id", + "type": "integer" +} - added
Input schema / properties / free_bytesAdded value: +{ + "description": "partition free space (in bytes)", + "type": "integer" +} - added
Input schema / properties / fsck_resultAdded value: +{ + "description": "fsck result — Values: `no_run_yet`: Partition has not been checked yet; `running`: Check is in progress; `fs_clean`: File system is ok; `fs_corrected`: File system was corrected; `fs_needs_correction`: File system need correction; `failed`: File system has unrecoverable error", + "enum": [ + "no_run_yet", + "running", + "fs_clean", + "fs_corrected", + "fs_needs_correction", + "failed" + ], + "type": "string" +} - added
Input schema / properties / fstypeAdded value: +{ + "enum": [ + "empty", + "unknown", + "xfs", + "ext4", + "vfat", + "ntf", + "hf", + "hfsplus", + "swap", + "exfat" + ], + "type": "string" +} - changed
Input schema / properties / id / descriptionPrevious value: -"the partition id to check"New value: +"unique partition id" - added
Input schema / properties / id__pathAdded value: +{ + "description": "(Path parameter)", + "type": "integer" +} - added
Input schema / properties / labelAdded value: +{ + "description": "partition name", + "type": "string" +} - added
Input schema / properties / operation_pctAdded value: +{ + "description": "partition operation progress", + "properties": { + "done_steps": { + "description": "number of steps done", + "type": "integer" + }, + "max_steps": { + "description": "total number of steps", + "type": "integer" + }, + "percent": { + "description": "current step progress", + "type": "integer" + } + }, + "type": "object" +} - added
Input schema / properties / pathAdded value: +{ + "description": "partition mount point (encoded in base64 as explained in fs API)", + "type": "string" +} - added
Input schema / properties / stateAdded value: +{ + "description": "Values: `error`: Partition has error; `checking`: Partition check in progress; `formatting`: Partition format in progress; `mounting`: Partition mount in progress; `maintenance`: Partition is in maintenance mode; `mounted`: Partition is ready; `umounting`: Partition umount in progress; `umounted`: Partition is umounted; `ejecting`: Partition ejection in progress", + "enum": [ + "error", + "checking", + "formatting", + "mounting", + "maintenance", + "mounted", + "umounting", + "umounted", + "ejecting" + ], + "type": "string" +} - added
Input schema / properties / total_bytesAdded value: +{ + "description": "partition size (in bytes)", + "type": "integer" +} - added
Input schema / properties / used_bytesAdded value: +{ + "description": "partition used space (in bytes)", + "type": "integer" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "id__path" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
put_switch_port_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"switch port id to update the configuration for (Path parameter)"New value: +"(Path parameter)"
- Changed
put_url_number_address_url_email_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"id of the contact number/address/url/email to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_vpn_client_config_id30 fields changed- removed
Input schema / $defsRemoved value: -{ - "VPNClientConfig": { - "properties": { - "active": { - "description": "is this configuration active. Only one configuration is active at a time.", - "type": "boolean" - }, - "allowed_auth": { - "description": "allowed authentication methods dictionnary with following keys:", - "type": "object" - }, - "conf_pptp": { - "$ref": "#/$defs/VPNClientConfig", - "description": "only available when type is PPTP" - }, - "description": { - "description": "VPN description", - "type": "string" - }, - "id": { - "description": "VPN config id", - "type": "string" - }, - "mppe": { - "description": "Values: `disable`: disable mppe; `require`: require mppe; `require_128`: require 128 bits mppe", - "enum": [ - "disable", - "require", - "require_128" - ], - "type": "string" - }, - "password": { - "description": "VPN password", - "type": "string" - }, - "remote_host": { - "description": "remote host IP or name", - "type": "string" - }, - "type": { - "description": "VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server", - "enum": [ - "pptp", - "openvpn" - ], - "type": "string" - }, - "username": { - "description": "VPN username", - "type": "string" - } - }, - "type": "object" - } -} - removed
Input schema / properties / activeRemoved value: -{ - "description": "is this configuration active. Only one configuration is active at a time.", - "type": "boolean" -} - removed
Input schema / properties / allowed_authRemoved value: -{ - "description": "allowed authentication methods dictionnary with following keys:", - "type": "object" -} - added
Input schema / properties / conf_ipsecAdded value: +{ + "description": "only available when type is IPsec", + "properties": { + "auth_modes": { + "description": "map of supported auth modes, currently only psk is supported", + "items": { + "properties": { + "id_custom": { + "description": "value of the source id when id_source is custom", + "type": "string" + }, + "id_source": { + "description": "source of the connection id", + "enum": [ + "custom" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ike_version": { + "description": "IKE protocol version", + "type": "integer" + } + }, + "type": "object" +} - added
Input schema / properties / conf_openvpnAdded value: +{ + "description": "only available when type is OpenVPN", + "properties": { + "cipher": { + "enum": [ + "blowfish", + "aes128", + "aes256" + ], + "type": "string" + }, + "disable_fragment": { + "description": "disable fragment configuration option", + "type": "boolean" + }, + "use_tcp": { + "description": "use TCP instead of UDP", + "type": "boolean" + } + }, + "type": "object" +} - removed
Input schema / properties / conf_pptp / $refRemoved value: -"#/$defs/VPNClientConfig" - added
Input schema / properties / conf_pptp / propertiesAdded value: +{ + "allowed_auth": { + "description": "allowed authentication methods dictionnary with following entries:", + "type": "object" + }, + "mppe": { + "description": "Values: `disable`: disable mppe; `require`: require mppe; `require_128`: require 128 bits mppe", + "enum": [ + "disable", + "require", + "require_128" + ], + "type": "string" + } +} - added
Input schema / properties / conf_pptp / typeAdded value: +"object" - removed
Input schema / properties / descriptionRemoved value: -{ - "description": "VPN description", - "type": "string" -} - added
Input schema / properties / enable_ipv4Added value: +{ + "description": "enable IPv4 on this server", + "type": "boolean" +} - added
Input schema / properties / enable_ipv6Added value: +{ + "description": "enable IPv4 on this server", + "type": "boolean" +} - added
Input schema / properties / enabledAdded value: +{ + "description": "is the VPN server enabled", + "type": "boolean" +} - changed
Input schema / properties / id / descriptionPrevious value: -"VPN config id"New value: +"VPN server id" - changed
Input schema / properties / id__path / descriptionPrevious value: -"VPN client config id to update (Path parameter)"New value: +"(Path parameter)" - changed
Input schema / properties / id__path / typePrevious value: -"string"New value: +"integer" - added
Input schema / properties / ip6_endAdded value: +{ + "description": "end of the IPv6 range that will be used to give clients an IPv6", + "type": "string" +} - added
Input schema / properties / ip6_startAdded value: +{ + "description": "start of the IPv6 range that will be used to give clients an IPv6", + "type": "string" +} - added
Input schema / properties / ip_endAdded value: +{ + "description": "end of the IP range that will be used to give clients an IP", + "type": "string" +} - added
Input schema / properties / ip_startAdded value: +{ + "description": "start of the IP range that will be used to give clients an IP", + "type": "string" +} - added
Input schema / properties / max_portAdded value: +{ + "description": "This field indicate the maximum possible value for port (see ConnectionStatus ipv4_port_range)", + "type": "integer" +} - added
Input schema / properties / min_portAdded value: +{ + "description": "This field indicate the minimum possible value for port (see ConnectionStatus ipv4_port_range)", + "type": "integer" +} - removed
Input schema / properties / mppeRemoved value: -{ - "description": "Values: `disable`: disable mppe; `require`: require mppe; `require_128`: require 128 bits mppe", - "enum": [ - "disable", - "require", - "require_128" - ], - "type": "string" -} - removed
Input schema / properties / passwordRemoved value: -{ - "description": "VPN password", - "type": "string" -} - added
Input schema / properties / portAdded value: +{ + "description": "the server port", + "type": "integer" +} - added
Input schema / properties / port_ikeAdded value: +{ + "description": "IPSec ike server port", + "type": "integer" +} - added
Input schema / properties / port_natAdded value: +{ + "description": "IPSec nat server port", + "type": "integer" +} - removed
Input schema / properties / remote_hostRemoved value: -{ - "description": "remote host IP or name", - "type": "string" -} - changed
Input schema / properties / type / descriptionPrevious value: -"VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server"New value: +"VPN server type — Values: `pptp`: PPTP VPN server; `openvpn`: OpenVPN server; `ipsec`: IPsec IKEv2 server" - changed
Input schema / properties / type / enumPrevious value: -[ - "pptp", - "openvpn" -]New value: +[ + "pptp", + "openvpn", + "ipsec" +] - removed
Input schema / properties / usernameRemoved value: -{ - "description": "VPN username", - "type": "string" -}
- Changed
put_vpn_user_login1 field changed- changed
Input schema / properties / login__path / descriptionPrevious value: -"Login of the VPN user to update (Path parameter)"New value: +"(Path parameter)"
- Changed
put_wifi_ap_id1 field changed- changed
Input schema / properties / id__path / descriptionPrevious value: -"wifi access point id (Path parameter)"New value: +"(Path parameter)"
- Changed
put_wifi_bss_id30 fields changed- added
Input schema / properties / capabilitesAdded value: +{ + "description": "ap capabilities", + "properties": { + "2d4g": { + "description": "map of capabilites in 2.4 GHz band", + "type": "integer" + }, + "5g": { + "description": "map of capabilites in 5 GHz band", + "type": "integer" + }, + "60g": { + "description": "map of capabilites in 60 GHz band", + "type": "integer" + } + }, + "type": "object" +} - changed
Input schema / properties / config / descriptionPrevious value: -"bss configuration"New value: +"ap configuration" - added
Input schema / properties / config / properties / bandAdded value: +{ + "description": "Values: `2d4g`: 2.4 GHz; `5g`: 5 GHz; `60g`: 60 GHz", + "enum": [ + "2d4g", + "5g", + "60g" + ], + "type": "string" +} - added
Input schema / properties / config / properties / channel_widthAdded value: +{ + "description": "wanted channel width (in MHz) :", + "type": "integer" +} - added
Input schema / properties / config / properties / dfs_enabledAdded value: +{ + "description": "enable channels that require DFS", + "type": "boolean" +} - removed
Input schema / properties / config / properties / eapol_versionRemoved value: -{ - "description": "eapol version", - "type": "integer" -} - removed
Input schema / properties / config / properties / enabledRemoved value: -{ - "description": "enable this BSS. Note that if you want the AP to completely stop emitting wifi you should use WifiGlobalConfig enabled attribute, otherwise FreeWifi and FreeWifi Secure may still be active.", - "type": "boolean" -} - removed
Input schema / properties / config / properties / encryptionRemoved value: -{ - "description": "Values: `wep`: wep (should not use); `wpa_psk_auto`: wpa/psk auto; `wpa_psk_tkip`: wpa/psk tkip; `wpa_psk_ccmp`: wpa/psk ccmp; `wpa2_psk_auto`: wpa2/psk auto; `wpa2_psk_tkip`: wpa2/psk tkip; `wpa2_psk_ccmp`: wpa2/psk ccmp", - "enum": [ - "wep", - "wpa_psk_auto", - "wpa_psk_tkip", - "wpa_psk_ccmp", - "wpa2_psk_auto", - "wpa2_psk_tkip", - "wpa2_psk_ccmp" - ], - "type": "string" -} - removed
Input schema / properties / config / properties / hide_ssidRemoved value: -{ - "description": "don’t show bss in bss list", - "type": "string" -} - added
Input schema / properties / config / properties / htAdded value: +{ + "description": "wifi ht config", + "properties": { + "ac_enabled": { + "description": "enable 802.11ac", + "type": "boolean" + }, + "ht_enabled": { + "description": "enable 802.11n", + "type": "boolean" + } + }, + "type": "object" +} - removed
Input schema / properties / config / properties / keyRemoved value: -{ - "description": "wifi key", - "type": "string" -} - added
Input schema / properties / config / properties / primary_channelAdded value: +{ + "description": "wanted primary channel, value of 0 means automatic selection", + "type": "integer" +} - added
Input schema / properties / config / properties / secondary_channelAdded value: +{ + "description": "wanted secondary channel, value of 0 means automatic selection", + "type": "integer" +} - removed
Input schema / properties / config / properties / ssidRemoved value: -{ - "description": "bss displayed name", - "type": "string" -} - removed
Input schema / properties / config / properties / use_default_configRemoved value: -{ - "description": "Values: `wep`: wep (should not use); `wpa_psk_auto`: wpa/psk auto; `wpa_psk_tkip`: wpa/psk tkip; `wpa_psk_ccmp`: wpa/psk ccmp; `wpa2_psk_auto`: wpa2/psk auto; `wpa2_psk_tkip`: wpa2/psk tkip; `wpa2_psk_ccmp`: wpa2/psk ccmp", - "enum": [ - "wep", - "wpa_psk_auto", - "wpa_psk_tkip", - "wpa_psk_ccmp", - "wpa2_psk_auto", - "wpa2_psk_tkip", - "wpa2_psk_ccmp" - ], - "type": "boolean" -} - changed
Input schema / properties / id / descriptionPrevious value: -"bss id"New value: +"wifi ap id" - changed
Input schema / properties / id__path / descriptionPrevious value: -"bss id (bssid MAC address) (Path parameter)"New value: +"(Path parameter)" - changed
Input schema / properties / id__path / typePrevious value: -"string"New value: +"integer" - added
Input schema / properties / nameAdded value: +{ + "description": "wifi ap name", + "type": "string" +} - removed
Input schema / properties / phy_idRemoved value: -{ - "description": "associated AP id", - "type": "string" -} - changed
Input schema / properties / status / descriptionPrevious value: -"bss status"New value: +"ap status" - removed
Input schema / properties / status / properties / authorized_sta_countRemoved value: -{ - "description": "number of authenticated stations for this bss", - "type": "integer" -} - added
Input schema / properties / status / properties / channel_widthAdded value: +{ + "description": "effective channel width (in MHz) primary_channel int Read-only ¶ effective primary channel secondary_channel int Read-only ¶ effective secondary channel dfs_cac_remaining_time int Read-only ¶ time left in dfs state", + "type": "integer" +} - added
Input schema / properties / status / properties / dfs_cac_remaining_timeAdded value: +{ + "description": "time left in dfs state", + "type": "integer" +} - removed
Input schema / properties / status / properties / is_main_bssRemoved value: -{ - "description": "if bss is main bs, its configuration will be reused for other bss with attribute use_default_config set as true. This can be used to apply the same configuration to 2 bss on 2 AP operating on different wifi bands.", - "type": "boolean" -} - added
Input schema / properties / status / properties / primary_channelAdded value: +{ + "description": "effective primary channel", + "type": "integer" +} - added
Input schema / properties / status / properties / secondary_channelAdded value: +{ + "description": "effective secondary channel", + "type": "integer" +} - removed
Input schema / properties / status / properties / sta_countRemoved value: -{ - "description": "number of stations for this bss authorized_sta_count int Read-only ¶ number of authenticated stations for this bss is_main_bss bool Read-only ¶ if bss is main bs, its configuration will be reused for other bss with attribute use_default_config set as true. This can be used to apply the same configuration to 2 bss on 2 AP operating on different wifi bands.", - "type": "integer" -} - changed
Input schema / properties / status / properties / state / descriptionPrevious value: -"Values: `phy_stopped`: associated AP is stopped; `no_param`: bss is missing config; `bad_param`: bss has an invalid config; `disabled`: bss is disabled; `starting`: bss is starting; `active`: bss is active; `failed`: bss has failed to start"New value: +"Values: `scanning`: Ap is probing wifi channels; `no_param`: Ap is not configured; `bad_param`: Ap has an invalid configuration; `disabled`: Ap is permanently disabled; `disabled_planning`: Ap is currently disabled according to planning; `no_active_bss`: Ap has no active BSS; `starting`: Ap is starting; `acs`: Ap is selecting the best available channel; `ht_scan`: Ap is scanning for other access point; `dfs`: Ap is performing dynamic frequency selection; `active`: Ap is active; `failed`: Ap has failed to start" - changed
Input schema / properties / status / properties / state / enumPrevious value: -[ - "phy_stopped", - "no_param", - "bad_param", - "disabled", - "starting", - "active", - "failed" -]New value: +[ + "scanning", + "no_param", + "bad_param", + "disabled", + "disabled_planning", + "no_active_bss", + "starting", + "acs", + "ht_scan", + "dfs", + "active", + "failed" +]
- Changed
put_wifi_mac_filter_filter_id2 fields changed- removed
Input schema / properties / filter_id / descriptionRemoved value: -"mac filter id" - changed
Input schema / properties / filter_id / typePrevious value: -"string"New value: +"integer"
- Changed
put_wifi_planning7 fields changed- added
Input schema / properties / bandAdded value: +{ + "description": "Values: `2d4g`: 2.4 GHz; `5g`: 5 GHz; `60g`: 60 GHz", + "enum": [ + "2d4g", + "5g", + "60g" + ], + "type": "string" +} - added
Input schema / properties / channelAdded value: +{ + "description": "channel number", + "type": "integer" +} - removed
Input schema / properties / mappingRemoved value: -{ - "description": "mapping for planning : “on” or “off” mapping[0] is monday at 0:0 mapping[7 * resolution - 1] is sunday last slot", - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / noise_levelAdded value: +{ + "description": "noise level on channel in dB", + "type": "integer" +} - removed
Input schema / properties / resolutionRemoved value: -{ - "description": "planning resolution (number of slots per day)", - "type": "integer" -} - added
Input schema / properties / rx_busy_percentAdded value: +{ + "description": "rx channel busy time percentage", + "type": "integer" +} - removed
Input schema / properties / use_planningRemoved value: -{ - "description": "is the planning enabled", - "type": "boolean" -}
230 tool updates
v0.1.0- First observed
delete_address_number_address_url_email_id - First observed
delete_call_log_id - First observed
delete_contact_id - First observed
delete_dhcp_static_lease_id - First observed
delete_downloads_blacklist_host - First observed
delete_downloads_feeds_id - First observed
delete_downloads_id - First observed
delete_downloads_id_erase - First observed
delete_downloads_task_id_blacklist_empty - First observed
delete_downloads_task_id_trackers_announce - First observed
delete_email_number_address_url_email_id - First observed
delete_fs_tasks_id - First observed
delete_fw_redir_redir_id - First observed
delete_number_number_address_url_email_id - First observed
delete_parental_filter_id - First observed
delete_pvr_finished_id - First observed
delete_pvr_programmed_id - First observed
delete_share_link_token - First observed
delete_upload_clean - First observed
delete_upload_id - First observed
delete_upload_id_cancel - First observed
delete_upnpigd_redir_id - First observed
delete_url_number_address_url_email_id - First observed
delete_vpn_client_config_id - First observed
delete_vpn_connection_id - First observed
delete_vpn_user_login - First observed
delete_wifi_mac_filter_filter_id - First observed
freebox_authorize - First observed
freebox_login - First observed
freebox_status - First observed
get_address_number_address_url_email_id - First observed
get_airmedia_config - First observed
get_airmedia_receivers - First observed
get_call_log - First observed
get_call_log_id - First observed
get_connection - First observed
get_connection_config - First observed
get_connection_ddns_provider - First observed
get_connection_ddns_provider_status - First observed
get_connection_ftth - First observed
get_connection_ipv6_config - First observed
get_connection_xdsl - First observed
get_contact - First observed
get_contact_contact_id_numbers_addresses_urls_emails - First observed
get_contact_id - First observed
get_dhcp_config - First observed
get_dhcp_dynamic_lease - First observed
get_dhcp_static_lease - First observed
get_dhcp_static_lease_id - First observed
get_dl_path - First observed
get_downloads - First observed
get_downloads_config - First observed
get_downloads_feeds - First observed
get_downloads_feeds_feed_id_items - First observed
get_downloads_feeds_id - First observed
get_downloads_id - First observed
get_downloads_id_log - First observed
get_downloads_stats - First observed
get_downloads_task_id_blacklist - First observed
get_downloads_task_id_files - First observed
get_downloads_task_id_peers - First observed
get_downloads_task_id_pieces - First observed
get_downloads_task_id_trackers - First observed
get_email_number_address_url_email_id - First observed
get_freeplug - First observed
get_freeplug_id - First observed
get_fs_info_path - First observed
get_fs_ls_path - First observed
get_fs_tasks - First observed
get_fs_tasks_id - First observed
get_fs_tasks_id_hash - First observed
get_ftp_config - First observed
get_fw_dmz - First observed
get_fw_incoming - First observed
get_fw_incoming_port_id - First observed
get_fw_redir - First observed
get_fw_redir_redir_id - First observed
get_lan_browser_interface - First observed
get_lan_browser_interface_hostid - First observed
get_lan_browser_interfaces - First observed
get_lan_config - First observed
get_lcd_config - First observed
get_netshare_afp - First observed
get_netshare_samba - First observed
get_number_number_address_url_email_id - First observed
get_parental_config - First observed
get_parental_filter - First observed
get_parental_filter_id - First observed
get_parental_filter_id_planning - First observed
get_pvr_config - First observed
get_pvr_finished - First observed
get_pvr_finished_id - First observed
get_pvr_media - First observed
get_pvr_programmed - First observed
get_pvr_programmed_id - First observed
get_pvr_quota - First observed
get_rrd - First observed
get_share_link - First observed
get_share_link_token - First observed
get_storage_config - First observed
get_storage_disk - First observed
get_storage_disk_id - First observed
get_storage_partition - First observed
get_storage_partition_id - First observed
get_switch_port_id - First observed
get_switch_port_id_stats - First observed
get_switch_status - First observed
get_system - First observed
get_upload - First observed
get_upload_id - First observed
get_upnpav_config - First observed
get_upnpigd_config - First observed
get_upnpigd_redir - First observed
get_url_number_address_url_email_id - First observed
get_vpn - First observed
get_vpn_client_config - First observed
get_vpn_client_config_id - First observed
get_vpn_client_log - First observed
get_vpn_client_status - First observed
get_vpn_connection - First observed
get_vpn_download_config_server_name_login - First observed
get_vpn_ip_pool - First observed
get_vpn_user - First observed
get_vpn_user_login - First observed
get_vpn_vpn_id_config - First observed
get_wifi_ap - First observed
get_wifi_ap_id - First observed
get_wifi_ap_id_allowed_channel_comb - First observed
get_wifi_ap_id_channel_usage - First observed
get_wifi_ap_id_neighbors - First observed
get_wifi_ap_id_stations - First observed
get_wifi_bss - First observed
get_wifi_bss_id - First observed
get_wifi_config - First observed
get_wifi_mac_filter - First observed
get_wifi_mac_filter_filter_id - First observed
get_wifi_planning - First observed
get_ws_upload - First observed
post_address_number_address_url_email - First observed
post_airmedia_receviers_receiver_name - First observed
post_call_log_delete_all - First observed
post_call_log_mark_all_as_read - First observed
post_contact - First observed
post_dhcp_static_lease - First observed
post_downloads_add - First observed
post_downloads_blacklist - First observed
post_downloads_feeds - First observed
post_downloads_feeds_feed_id_items_item_id_download - First observed
post_downloads_feeds_feed_id_items_mark_all_as_read - First observed
post_downloads_feeds_fetch - First observed
post_downloads_feeds_id_fetch - First observed
post_downloads_task_id_trackers - First observed
post_email_number_address_url_email - First observed
post_freeplug_id_reset - First observed
post_fs_archive - First observed
post_fs_cat - First observed
post_fs_cp - First observed
post_fs_extract - First observed
post_fs_hash - First observed
post_fs_mkdir - First observed
post_fs_mv - First observed
post_fs_rename - First observed
post_fs_repair - First observed
post_fs_rm - First observed
post_fw_redir - First observed
post_lan_wol_interface - First observed
post_number_number_address_url_email - First observed
post_parental_filter - First observed
post_pvr_programmed - First observed
post_rrd - First observed
post_share_link - First observed
post_system_reboot - First observed
post_url_number_address_url_email - First observed
post_vpn_client_config - First observed
post_vpn_user - First observed
post_wifi_ap_id_neighbors_scan - First observed
post_wifi_config_reset - First observed
post_wifi_mac_filter - First observed
put_address_number_address_url_email_id - First observed
put_airmedia_config - First observed
put_call_log_id - First observed
put_connection_config - First observed
put_connection_ddns_provider - First observed
put_connection_ipv6_config - First observed
put_contact_id - First observed
put_dhcp_config - First observed
put_dhcp_static_lease_id - First observed
put_downloads_config - First observed
put_downloads_feeds_feed_id_items_item_id - First observed
put_downloads_feeds_id - First observed
put_downloads_id - First observed
put_downloads_task_id_files_file_id - First observed
put_downloads_task_id_trackers_announce - First observed
put_downloads_throttling - First observed
put_email_number_address_url_email_id - First observed
put_fs_tasks_id - First observed
put_ftp_config - First observed
put_fw_dmz - First observed
put_fw_incoming_port_id - First observed
put_fw_redir_redir_id - First observed
put_lan_browser_interface_hostid - First observed
put_lan_config - First observed
put_lcd_config - First observed
put_netshare_afp - First observed
put_netshare_samba - First observed
put_number_number_address_url_email_id - First observed
put_parental_config - First observed
put_parental_filter_id - First observed
put_parental_filter_id_planning - First observed
put_pvr_config - First observed
put_pvr_finished_id - First observed
put_pvr_programmed_id - First observed
put_pvr_quota - First observed
put_storage_config - First observed
put_storage_disk_id - First observed
put_storage_disk_id_format - First observed
put_storage_partition_id - First observed
put_storage_partition_id_check - First observed
put_switch_port_id - First observed
put_upnpav_config - First observed
put_upnpigd_config - First observed
put_url_number_address_url_email_id - First observed
put_vpn_client_config_id - First observed
put_vpn_openvpn_routed_config - First observed
put_vpn_user_login - First observed
put_wifi_ap_id - First observed
put_wifi_bss_id - First observed
put_wifi_config - First observed
put_wifi_mac_filter_filter_id - First observed
put_wifi_planning
TDQS
Scored across 226 tools
Many tools have overlapping descriptions, especially the contact number variants (delete_address_number_address_url_email_id, delete_email_number_address_url_email_id, etc.) which all do the same thing. Additionally, the sheer number of tools (226) makes it hard to distinguish between similar operations in different domains.
The tools follow a consistent verb_noun pattern derived from REST API endpoints, but there are inconsistencies: some tools use abbreviations (get_dl_path vs get_downloads) and the noun parts can be overly long and repetitive (e.g., 'address_number_address_url_email'). Overall, the pattern is recognizable but not clean.
With 226 tools, the server is extremely bloated. While it covers many router features, this volume is excessive for an MCP server and likely includes many redundant or overly granular operations that could be consolidated.
The tools cover a wide range of domains (connection, DHCP, downloads, filesystem, firewall, LAN, parental control, PVR, storage, VPN, WiFi), but there are noticeable gaps like user management and system updates. The presence of many similarly named contact tools suggests redundancy rather than full coverage.
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 let you interact with Cycloid.io Internal Development Portal and Platform
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- AlicenseBqualityBmaintenanceA configurable MCP server that adapts any HTTP API into an MCP toolset with generic HTTP tools (GET, POST, PUT, DELETE) and pluggable authentication. Includes API discovery scripts and supports dynamic tool generation from OpenAPI specs or wordlist scans.51MIT
- AlicenseBqualityCmaintenanceMCP server for the Trollspace API that exposes 47 type-safe tools for managing snippets, nuggets, todos, ideas, tools, repos, travel, subscriptions, and more.551Apache 2.0
- FlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server for interfacing with AVM FRITZ!Box routers. Control smart home devices, monitor network status, and administer your router through any MCP-compatible client.10-
- AlicenseNot gradedqualityDmaintenanceMCP server for the FreeFeed social network API. Enables reading timelines, posts, comments, and attachments, as well as writing posts, comments, and managing subscriptions.MIT