InvGate Service Desk
This server provides AI assistants with comprehensive access to InvGate Service Desk through read-only and write tools across 11 domains, enabling natural language interaction with tickets, users, knowledge base, assets, and more. 63 tools are read-only by default; 33 write tools (incidents, knowledge base, time tracking) require explicit opt-in via INVGATE_WRITE_PROFILE.
Incidents / Tickets
Get incident details (with optional comments), list by status, agent, customer, or helpdesk
Write (opt-in): Create, update, reassign, comment on, and manage approvals for tickets
Catalog & Configuration
List priorities, statuses, incident types (Incident, Service Request, Problem, Change), categories (with search/hierarchy), and sources
Users & Groups
Look up users by ID, username, email, phone, or employee number
List users, groups, and their members; get a user's groups, companies, helpdesks, and locations
Knowledge Base
Search articles by keywords, list/fetch by ID or category, get attachments, browse KB categories
Write (opt-in): Create and update articles
Custom Fields
List definitions, get options (list/tree), and identify fields by category or applicable at request creation
Organization Structure
List helpdesks, levels, locations, companies, and their members/observers
Assets & CIs (Configuration Items)
Find incidents linked to assets or CIs, retrieve CI details, get asset/CI counters
Time Tracking
View time entries for requests or date ranges, list categories and costs
Write (opt-in): Log new time entries
Triggers & Automation
List automation triggers and their execution history
Workflows
Inspect workflow fields, process info (with version history), and field values for workflow instances
Breaking News / Announcements
Get/list announcements, status updates, and importance types
invgate-service-desk-mcp
A Model Context Protocol server for InvGate Service Desk / Service Management.
Give your AI assistant full access to your InvGate Service Desk — query incidents, look up users, search the knowledge base, check assets, and manage tickets — all through natural language.
96 tools across 11 domains. Read-only by default, with optional write operations behind explicit opt-in.
Install in one click
The easiest way to use this server with Claude Desktop (and other MCPB-compatible clients) is the prebuilt bundle:
➡️ Download invgate-service-desk.mcpb — then double-click it. Claude Desktop opens the installer, prompts for your InvGate base URL and API token, and you're done. No Python, no npx/uvx, no config files.
The .mcpb is attached to every GitHub Release and mirrored on Smithery. Prefer a package manager or container? See Quick start below.
Related MCP server: invgate-mcp
What can it do?
Domain | Tools | Examples |
Catalog | 5 | List priorities, statuses, incident types, categories (with search), sources |
Incidents | 34 | Get ticket details, list by status/agent/customer, create & update tickets, reassign, comment, manage approvals |
Users & Groups | 7 | Look up users, find by email/phone, list group members |
Knowledge Base | 10 | Search articles, browse categories, create & update articles |
Custom Fields | 9 | List field definitions, get options (list/tree), fields by category |
Organization | 11 | Helpdesks, levels, locations, company structure |
Assets / CIs | 6 | Find assets linked to incidents, CI relationships |
Time Tracking | 4 | View logged hours, log new time entries |
Triggers | 2 | List automation rules and their executions |
Workflows | 3 | Inspect workflow fields, processes, and field values |
Breaking News | 5 | View announcements, statuses, types |
63 read-only tools work out of the box. 33 write tools (incidents, KB, time tracking) activate only when you explicitly opt in.
Quick start
1. Install
pip install invgate-service-desk-mcpOr run without installing (requires uv):
uvx invgate-service-desk-mcp2. Connect to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"invgate": {
"command": "uvx",
"args": ["invgate-service-desk-mcp"],
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token"
}
}
}
}Restart Claude Desktop. That's it — start asking about your tickets.
{
"mcpServers": {
"invgate": {
"command": "invgate-service-desk-mcp",
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token"
}
}
}
}By default the server is read-only. Opt into writes with INVGATE_WRITE_PROFILE:
Profile | Reads | Writes |
| everything | nothing |
| everything | incidents (tickets, comments, reassign, approve) + time tracking |
| everything | incidents + time tracking + Knowledge Base |
{
"mcpServers": {
"invgate": {
"command": "uvx",
"args": ["invgate-service-desk-mcp"],
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token",
"INVGATE_WRITE_PROFILE": "support"
}
}
}
}Compatibility: the legacy
INVGATE_ENABLE_WRITES=1still works and maps tofull. If both are set, the profile wins and a warning is printed to stderr. Note:supportdeliberately keeps the Knowledge Base read-only. An invalid profile name fails fast at startup.
Warning: write mode lets the connected agent create, modify, and delete real content through your InvGate credential. There is no API to delete a ticket — created tickets can only be cancelled, not removed.
3. Get your API token
In your InvGate Service Desk instance: Settings > Integrations > API (or ask your admin). The server authenticates via HTTP Basic with username api and your token as the password.
Configuration
Configuration resolves in this order (highest priority first):
Environment variables (always win)
TOML config at
~/.config/invgate-service-desk-mcp/config.toml
Env var | TOML key | Description |
|
| Instance URL, e.g. |
|
| API token (HTTP Basic password) |
|
| HTTP Basic username (optional, defaults to |
|
| Write access profile: |
|
| Enable OpenTelemetry (default: |
|
| Span detail: |
# ~/.config/invgate-service-desk-mcp/config.toml
base_url = "https://acme.sd.cloud.invgate.net"
api_token = "..."
# api_username = "api"
# write_profile = "none" # "none" (default) | "support" | "full"
# telemetry_enabled = false
# telemetry_detail = "metadata"Tip: create the config directory first:
mkdir -p ~/.config/invgate-service-desk-mcp
See config.toml.example for a copy-paste template.
Running the server
invgate-service-desk-mcp # STDIO transport (default)
invgate-service-desk-mcp --transport sse # SSE/HTTP transportSecurity note: STDIO (the default) keeps everything local. The
sseandstreamable-httptransports have no built-in authentication — only use them bound to loopback or behind an authenticated reverse proxy.
Observability (optional)
The server can emit OpenTelemetry traces, metrics, and logs — completely opt-in and vendor-neutral. Export to any OTLP-compatible backend (Dynatrace, Grafana, Datadog, Jaeger, etc.).
pip install "invgate-service-desk-mcp[telemetry]"
export INVGATE_TELEMETRY=1OTLP endpoint and headers are configured via standard OpenTelemetry env vars (not in the TOML file):
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<your-env>.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token <YOUR_DT_TOKEN>"
export OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
export OTEL_SERVICE_NAME=invgate-service-desk-mcpToken scopes needed: openTelemetryTrace.ingest, metrics.ingest, logs.ingest.
See docs/observability-dynatrace.md for a detailed guide.
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
export OTEL_SERVICE_NAME=invgate-service-desk-mcpSignals emitted:
Traces — tool execution spans (GenAI semantic conventions) + InvGate API request spans with response size and item count
Metrics —
mcp.tool.duration,invgate.client.request.duration,mcp.tool.errors,invgate.response.item_count,invgate.response.sizeLogs — tool errors and unexpected API response shapes, correlated to traces (OTLP only, never stdout)
Development
git clone https://github.com/tracegazer/invgate-service-desk-mcp.git
cd invgate-service-desk-mcp
uv venv && uv pip install -e ".[dev]"
pytestLicense
Available Tools
63 toolsfind_usersB
Search users by username, email, phone number or employee number.
| Name | Required | Description | Default |
|---|---|---|---|
| username | No | ||
| No | |||
| phone | No | ||
| employee_number | No | ||
| exact_match | No | ||
| include_disabled | No | ||
| page_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description does not disclose read-only nature, pagination (page_key), exact match behavior, or inclusion of disabled users. With no annotations, the agent has minimal information about side effects 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?
Single sentence, no wasted words. Verb and resource are front-loaded. Appropriate length for 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 7 parameters, no output schema, and no annotations, the description is too brief. Missing critical context about pagination, result format, and filter behavior (exact_match, include_disabled).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds meaning for 4 of 7 parameters (username, email, phone, employee_number) but ignores exact_match, include_disabled, and page_key. Schema coverage is 0%, so description partially compensates but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 searches users, lists specific searchable fields (username, email, phone, employee number), differentiating from sibling tools like 'list_users' which likely lists all users, and 'get_user' which gets a single user 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 vs alternatives like 'list_users' or 'get_user'. No mention of prerequisites or when search is appropriate versus other user retrieval methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_breaking_newsB
Get a single Breaking News announcement by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| breaking_news_id | Yes | ||
| date_format | No | iso8601 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only describes a read operation ('Get') but omits behavioral details such as error handling, rate limits, or what happens if the ID does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no unnecessary words. Efficiently conveys 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 output schema and 0% schema coverage, the description is incomplete. It does not describe the return value, error handling, or the role of date_format. Among many sibling tools, this description provides insufficient context for correct tool 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?
Schema coverage is 0%; description does not explain the date_format parameter or its possible values. The phrase 'by ID' only hints at breaking_news_id. No additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), the resource (Breaking News announcement), and the method (by ID). It effectively distinguishes from sibling tools like list_breaking_news which retrieves multiple.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Does not mention that for listing all breaking news one should use list_breaking_news, or how to handle statuses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_breaking_news_statusC
Get the updates of a Breaking News announcement.
| Name | Required | Description | Default |
|---|---|---|---|
| breaking_news_id | Yes | ||
| date_format | No | iso8601 |
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 'Get the updates' but does not specify what an 'update' entails, whether the call is idempotent, any prerequisites, or response structure. 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 a single sentence, which is concise but lacks sufficient detail. It is not verbose, but brevity comes 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 absence of an output schema and low schema coverage, the description should explain what 'updates' are and what the tool returns. It does not. The tool has two parameters, and no context is provided for their purpose or format.
Complex tools with many parameters or behaviors need more documentation. 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 parameters have no descriptions. The tool description does not mention or explain the parameters (breaking_news_id, date_format). This fails to add 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 identifies the action ('Get') and resource ('updates of a Breaking News announcement'), distinguishing it from sibling tools like get_breaking_news (which likely retrieves the announcement itself) and list_breaking_news_statuses (which lists available statuses).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_breaking_news or list_breaking_news_statuses. The agent cannot determine the appropriate context for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cis_by_idC
Get CIs by their internal IDs and inventory source ID.
| Name | Required | Description | Default |
|---|---|---|---|
| ci_source_id | Yes | ||
| ci_internal_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read operation ('Get') but does not disclose behavioral traits beyond that. No annotations are present, so the description should cover aspects like authentication requirements, rate limits, or whether it returns partial results. It lacks such 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 a single concise sentence that conveys the core action without unnecessary words. It is appropriately 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 two required parameters and lacks an output schema, the description is minimally complete for a simple lookup but omits important context such as return structure, pagination, and error handling. It does not leverage the context signals to provide additional 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?
With 0% schema description coverage, the description must compensate. While it mentions 'internal IDs and inventory source ID', it does not explain the purpose of the two parameters (ci_source_id, ci_internal_ids) beyond their names, nor does it provide value constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'CIs' along with the method (by internal IDs and inventory source ID). It distinguishes the tool from many siblings through its specific focus on CIs and IDs, though 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 such as search or list tools. No context about prerequisites, filters, or limitations is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_field_configC
Get the configuration of a custom field by UID.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for behavioral disclosure. It only states 'Get the configuration'—a read operation—but does not mention any potential side effects, authorization requirements, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. However, it is too brief to be fully informative, leaning toward under-specification rather than concise 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?
With no output schema, no annotations, and a single parameter, the description does not provide sufficient context about what the configuration entails, the response format, or prerequisites. It feels incomplete for a fetch 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 single parameter 'uid' is an integer, and the description mentions 'by UID', but it does not clarify what the UID refers to (e.g., custom field UID). Schema description coverage is 0%, so the description adds little beyond the schema, and does not fully 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 the action (Get), the resource (configuration of a custom field), and the identifier (by UID). It is specific and distinct from sibling tools like get_custom_field_list_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 are many sibling tools for fetching related data (e.g., get_custom_field_list_config, list_custom_fields), but no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_field_list_configB
Get the configuration of a list-type custom field.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'Get the configuration' without disclosing any behavioral traits (e.g., read-only, permissions required, return format, or limitations).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is direct and to the point with no superfluous 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 low complexity (1 parameter), lack of output schema, and no annotations, the description is insufficient. It does not explain what the configuration includes or how it differs from other custom field 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?
Schema coverage is 0% with no description for 'uid', and the description does not explain what 'uid' represents or how it should be used, failing to compensate for the missing 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 clearly states 'Get the configuration of a list-type custom field', specifying the verb ('Get'), resource ('configuration of a list-type custom field'), and distinguishing from siblings like 'get_custom_field_config' and 'get_custom_field_list_options'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_custom_field_config. No mention of prerequisites, exclusions, 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_custom_field_list_optionsB
Get the options of a list-type custom field.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden, but it only states the action with no disclosure of read-only nature, permissions, or side effects. 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?
Extremely concise single sentence. However, it sacrifices helpful details that could fit without becoming verbose, balancing conciseness 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?
Without output schema, tool fails to describe return format or what 'options' means. For a simple tool, it may be sufficient, but it lacks context on expected output.
Complex tools with many parameters or behaviors need more documentation. 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 description omits any explanation of the required 'uid' parameter. Agent must rely solely on schema name, which is vague without 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?
Description clearly states the tool retrieves options for a list-type custom field, using specific verb-resource pairing. It distinguishes itself from sibling tools like get_custom_field_tree_options or get_custom_field_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 explicit guidance on when to use this tool versus alternatives like get_custom_field_list_config. Agent must infer from context, but purpose is clear enough for basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_field_tree_optionsB
Get the options structure of a tree-type custom field.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It describes a read-like operation but offers no details on side effects, required permissions, or pagination. The lack of behavioral context limits the agent's ability to predict 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 a single, direct sentence with no redundant information. Every word contributes to understanding 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?
For a simple one-parameter tool without output schema, the description is minimal but sufficient for basic understanding. However, missing details about the parameter and return value reduce completeness in 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 single parameter 'uid' has no description in the schema (0% coverage). The description does not explain what 'uid' represents (e.g., custom field ID), leaving the agent without clarity on how to set it correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 ('the options structure of a tree-type custom field'), making it specific and distinguishable from siblings like get_custom_field_config or get_custom_field_list_options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 the tool is for tree-type custom fields only, but it does not explicitly state when to use it versus alternatives, nor does it provide any exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_incidentC
Get a single incident (request) by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_id | Yes | ||
| include_comments | No | ||
| date_format | No | iso8601 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose that the optional parameters include_comments and date_format modify the response, nor does it state any behavioral traits like authentication 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 very concise at one sentence, but it sacrifices detail that would be helpful. It is front-loaded but could benefit from additional sentences explaining optional parameters 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 has 3 parameters and no output schema, the description is incomplete. It does not explain the optional parameters or the output format, leaving the agent without enough context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only refers to 'by its ID,' covering the required incident_id parameter. It fails to explain the optional parameters include_comments and date_format, leaving their semantics unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single incident (request) by its ID,' which specifies the verb, resource, and scope. This distinguishes it from sibling tools like 'list_incidents_by_*' that return multiple incidents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that listing tools should be used for multiple incidents or that other get tools (e.g., get_incident_comments) serve different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_incident_commentsC
Get the replies/comments of a given incident.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| date_format | No | iso8601 | |
| is_solution | No |
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 read-only nature, auth requirements, or pagination behavior. The name implies read-only but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no waste, but lacks critical details. Conciseness is acceptable but under-specification reduces 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?
With 3 parameters, no output schema, and no annotations, the description is too minimal to fully guide agent on usage and expected output.
Complex tools with many parameters or behaviors need more documentation. 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 description does not explain any of the three parameters (request_id, date_format, is_solution), leaving agent to guess their 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?
Clearly states it gets replies/comments for a given incident, which is specific and distinguishes from sibling tools like get_incident that retrieves incident details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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; lacks context about 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_kb_article_attachmentsB
List the attachments of a Knowledge Base article.
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits (e.g., error handling for invalid article_id, pagination, or output details). The description is too minimal 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 a single, concise sentence that is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description fails to explain what the return value contains or any important context like pagination or attachment format. The description is too sparse for 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 0%, and the description does not add any meaning to the article_id parameter beyond its name. The parameter's expected format or source is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('attachments of a Knowledge Base article'). The tool is distinct from siblings as no other tool deals with attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. However, the tool's purpose is straightforward and there are no sibling tools for attachments, so usage is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kb_articles_by_idsB
Get Knowledge Base articles by their IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| article_ids | 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 for behavioral disclosure. It does not mention important traits such as whether the articles are returned in full or summarized, any limits on the number of IDs, or whether the order of IDs is preserved in the response.
Agents need to know what a tool does to the world before calling 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 with no superfluous information. However, it could be slightly expanded to include essential details 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?
Given the simplicity of the tool (one parameter, no output schema), the description is still incomplete. It does not explain what the output contains (e.g., full article content or just metadata) or any limitations. Sibling tools like 'get_kb_article_attachments' suggest related functionality, but the description provides no context for differentiation.
Complex tools with many parameters or behaviors need more documentation. 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 schema itself provides no parameter descriptions. The tool description does not add any meaning beyond the parameter name 'article_ids' and type 'array of integers'. It lacks details on expected format, constraints, or behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 resource ('Knowledge Base articles'), and the method ('by their IDs'). It effectively distinguishes from sibling tools like 'list_kb_articles' (which lists all) and 'search_kb_articles' (which searches).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 fetching specific articles by ID, but provides no explicit guidance on when to use this tool versus alternatives such as 'list_kb_articles' or 'search_kb_articles'. No when-not or exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kb_categories_by_idsC
Get Knowledge Base categories by their IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| category_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It only says 'Get' without specifying whether the operation is read-only, what data is returned (e.g., full objects or summaries), or any side effects. The name suggests read-only, but no confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that gets straight to the point. However, the extreme brevity sacrifices necessary detail. It could be slightly expanded without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should compensate by explaining return values and behavior. It fails to do so, leaving the agent without enough context to fully understand the tool's output and proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'category_ids' parameter beyond its name. The schema shows it's an array of integers, but there is no guidance on where to obtain these IDs or what valid values are.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('Get') and resource ('Knowledge Base categories'), and specifies the mechanism ('by their IDs'). This distinguishes it from list_kb_categories which returns all categories. However, it does not explicitly contrast with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like list_kb_categories. It is implied that it is for retrieving specific categories by ID, but there is no mention of prerequisites, limitations, 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.
get_linked_assets_countersC
Get counters of linked assets from a given starting point.
| Name | Required | Description | Default |
|---|---|---|---|
| assets_source_id | Yes | ||
| from_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It merely states 'Get counters of linked assets' without clarifying what 'counters' are, what is included in the count, or whether the operation is read-only. No side effects, auth needs, or limitations 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 a single sentence that is front-loaded but lacks detail. It is not verbose, but it fails to convey essential information, making it under-specified rather than appropriately 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 (2 required params, no output schema, no annotations, low schema coverage), the description is grossly insufficient. It provides no information about return values, behavior, or parameter usage, leaving the agent with little to work with.
Complex tools with many parameters or behaviors need more documentation. 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 explain the two required parameters ('assets_source_id', 'from_status'). The description adds no meaning beyond the parameter names, leaving their semantics entirely unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 the resource 'counters of linked assets', making the purpose clear. The sibling 'get_linked_cis_counters' suggests a differentiation by asset type, but it is not explicitly articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 siblings or other tools. There is no mention of prerequisites, context, or scenarios that would help an agent decide to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_linked_cis_countersC
Get counters of incidents per status for CIs from a given starting point.
| Name | Required | Description | Default |
|---|---|---|---|
| cis_source_id | Yes | ||
| from_status | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits such as authentication needs, side effects, or rate limits. Only states core functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. However, could benefit from slightly more detail 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?
No output schema, no annotations, and only two parameters. Description does not explain return values, pagination, or other behavior needed for an agent to use the tool 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?
Schema has 0% description coverage. Description mentions 'from a given starting point' but does not clarify meaning of 'cis_source_id' or 'from_status'. Parameters remain ambiguous.
Input schemas describe structure but not intent. Descriptions should explain 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 counters of incidents per status for CIs from a given starting point. The verb 'get' and resource are specific, and the tool is distinguished from sibling 'get_linked_assets_counters' which focuses on assets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_linked_assets_counters' or other incident-listing tools. The description lacks context on prerequisite data 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_starting_fields_by_categoryB
List the custom fields applicable to a category at request creation.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | ||
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the behavior (listing fields) but omits details like whether results are paginated, ordered, or any authentication requirements. For a simple read operation, this is minimally 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?
Single, well-structured sentence that front-loads the verb and resource. No extraneous 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 two parameters, no output schema, and no annotations, the description is too minimal. It doesn't explain what the output looks like, how language affects results, or any constraints. The agent lacks sufficient context to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. 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 the description should explain parameter meaning. It mentions 'category' implicitly for category_id, but does not explain the 'language' parameter at all. This leaves ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (custom fields), and context (applicable to a category at request creation). It distinguishes from siblings like 'list_custom_fields_by_category' by adding the 'at request creation' qualifier, though the distinction could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., list_custom_fields_by_category). No mention of prerequisites or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_userB
Get a single user by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| include_disabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it's a read operation. No additional behavioral details (e.g., error handling, permissions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, 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?
Low complexity tool, but lacks details on return value or error states. Adequate for a simple get, 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% and description adds no parameter meaning. The parameters user_id and include_disabled are self-explanatory but description could clarify include_disabled's effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Purpose is clear: 'Get a single user by ID' uses a specific verb and resource, and distinguishes from sibling list and search 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, when-to-use, or comparison to siblings like list_users or find_users.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_groupsC
Get the groups, companies, helpdesks and locations for the given users.
| Name | Required | Description | Default |
|---|---|---|---|
| user_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden for behavioral disclosure. It states what is retrieved but does not explain output format, permissions, or limitations. The 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 a single, front-loaded sentence with no extraneous words. It is concise, though slightly under-detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 0% parameter description coverage, the description is insufficient. It does not address return structure, error handling, or usage context, 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?
Schema coverage is 0%, so the description should compensate. It merely says 'for the given users' without explaining the format, constraints, or source of user_ids. This adds little 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 uses the verb 'Get' and lists the resources (groups, companies, helpdesks, locations) for given users, which is clear. However, it does not explicitly mention the user input, though the parameter 'user_ids' implies it. It distinguishes from sibling tools like list_groups by focusing on specific 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 is provided on when to use this tool versus siblings such as list_groups, list_companies, list_helpdesks, or list_locations. The description lacks context for when this aggregation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_field_list_valuesB
Get current values of a list-type field in a workflow instance.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| field_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 implies read-only via 'Get', but does not disclose idempotency, permissions, or error behavior. Adequate but 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?
Single sentence, no unnecessary words. Front-loaded with verb and resource. Highly 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?
Simple 2-parameter tool with no output schema or annotations. Description covers the core function but misses behavior on errors, return format, and prerequisites. Adequate for straightforward retrieval.
Complex tools with many parameters or behaviors need more documentation. 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%, but description does not explain parameters. It implies request_id identifies the workflow instance and field_id identifies the field, but lacks detail on how to obtain these or their valid ranges.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get' and the resource 'current values of a list-type field in a workflow instance', distinguishing it from sibling tools that retrieve other workflow or custom field information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_custom_field_list_options or get_workflow_initial_fields. The description does not specify 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_workflow_initial_fieldsC
List the initial fields needed to create a request from a workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states 'list' implying read-only, but does not mention side effects, error handling, or authentication needs. The description is minimal and does not provide adequate transparency for an agent to understand the tool's behavior beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that gets to the point quickly with no unnecessary words. However, it may be too brief, sacrificing clarity. For a simple tool, this level of conciseness 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?
Given the tool has one parameter, no output schema, and no annotations, the description should provide more context about the return value, the relationship to workflows, and how 'initial fields' are used. It is insufficient for an agent to fully understand the tool's role and output.
Complex tools with many parameters or behaviors need more documentation. 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 parameter 'category_id' or its purpose. The description mentions 'initial fields needed from a workflow' but does not link this to the parameter, leaving the agent with no understanding of 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 includes a verb 'List' and a resource 'initial fields needed to create a request from a workflow', which indicates a clear purpose. However, it is vague because 'initial fields' is not well-defined, and it does not distinguish itself from similar sibling tools like 'get_starting_fields_by_category' or 'get_workflow_field_list_values'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 prerequisites, exclusions, or context for use. Given many sibling tools with similar names, the agent lacks direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_processC
Get workflow process info with version history (or one by ID).
| Name | Required | Description | Default |
|---|---|---|---|
| process_id | No | ||
| date_format | No | iso8601 | |
| page_key | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It hints at two modes (list with version history vs. single by ID) but does not explain pagination (page_key, limit), return format, or permissions. This is insufficient for an AI agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the main action. However, it could be improved by separating the two modes into distinct sentences for clarity, but it remains 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?
Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not cover return values, pagination behavior, or what 'version history' entails, leaving the AI agent with significant gaps for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at the usage of process_id ('or one by ID') but does not explain date_format, page_key, or limit. This adds minimal value beyond the schema's 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 'Get' and the resource 'workflow process info', and adds nuance with 'with version history (or one by ID)', effectively distinguishing it from other get tools in the sibling list (e.g., get_incident, get_user) that lack version history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_workflow_initial_fields or other workflow-related tools. It does not mention prerequisites, 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.
list_breaking_newsC
List all Breaking News announcements.
| Name | Required | Description | Default |
|---|---|---|---|
| date_format | No | iso8601 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'list all' without disclosing ordering, pagination, or authentication requirements. Behavioral traits are minimally conveyed.
Agents need to know what a tool does to the world before calling 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) but lacks structure and depth. Every word earns its place, but more detail would improve utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 optional parameter, no output schema), the description is minimal but arguably adequate for a straightforward list operation. However, it could better clarify what 'Breaking News announcements' entails.
Complex tools with many parameters or behaviors need more documentation. 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 'date_format' has a default but no description in schema (coverage 0%). The tool description adds no information about the parameter's meaning or valid 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 verb 'List' and resource 'all Breaking News announcements', distinguishing it from sibling tools like list_breaking_news_statuses and get_breaking_news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_breaking_news), nor any exclusions or prerequisites. The description is too brief for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_breaking_news_statusesC
List the possible statuses of Breaking News (or one by ID).
| Name | Required | Description | Default |
|---|---|---|---|
| status_id | No |
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 states it's a list/retrieve operation, but does not mention pagination, authentication, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and to the point, but could be more structured to separate list and get-by-ID 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?
With no output schema and no annotations, the description should provide more context about return value or side effects. It is incomplete for a tool that lacks schema richness.
Complex tools with many parameters or behaviors need more documentation. 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 adds minimal value: 'or one by ID' clarifies the parameter's purpose but not 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 clearly states it lists possible statuses of Breaking News, and allows fetching one by ID. However, it does not differentiate from the sibling tool 'get_breaking_news_status', which likely has overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_breaking_news_status'. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_breaking_news_typesB
List the importance types of Breaking News (or one by ID).
| Name | Required | Description | Default |
|---|---|---|---|
| type_id | No |
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 implies a read operation (list) but does not mention authentication, side effects, error behavior, or what happens when an invalid ID is provided. The only behavioral detail is the optional filtering by ID.
Agents need to know what a tool does to the world before calling 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 short sentence (10 words) that immediately states the action and resource. It is front-loaded with the verb 'List' and contains no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide more details about the return format or behavior. It explains the basic function and optional filtering but lacks completeness for an agent to fully understand the tool's output or 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 description coverage is 0%, so the description must compensate. It mentions filtering 'by ID' but does not explain the type_id parameter's meaning, possible values, or format. The tool's purpose (importance types) gives some context, but parameter information is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'importance types of Breaking News', and mentions optional filtering by ID. It distinguishes from sibling tools like list_breaking_news and list_breaking_news_statuses by specifying the type of data returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 use cases, prerequisites, or exclusions. The agent is left to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesC
List incident categories. Hierarchical via parent_category_id. Supports search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| search | No | ||
| page | No | ||
| page_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description hints at hierarchical results via parent_category_id and search support, but does not disclose pagination behavior, return format, or any side effects. Essential behavioral details are missing.
Agents need to know what a tool does to the world before calling 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 sentences), which is generally good, but too brief given the lack of schema documentation. It omits important details that should be present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, and 4 undocumented parameters, the description fails to provide sufficient context for an agent to correctly invoke the tool. Critical information about parameters and behavior is absent.
Complex tools with many parameters or behaviors need more documentation. 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 mentions 'search' implicitly, leaving id, page, and page_size without explanation. Minimal added 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 lists incident categories, and mentions hierarchical structure and search support. However, it does not distinguish from sibling tools like list_kb_categories which may also list categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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, nor any prerequisites or when-not-to-use conditions. The description lacks 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.
list_companiesA
List active companies, optionally filtered by ID, name or external ID.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | ||
| name | No | ||
| external_id | No |
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 states 'list active companies' and mentions filters but gives no detail on pagination, result set, what 'active' means, or any side effects. This is insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the main action and then lists filters. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description covers the basic purpose but omits return format, pagination details, and what 'active' means. This leaves some ambiguity for the 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 description adds no meaning beyond the parameter names already in the schema. It merely lists the filter fields (ID, name, external ID) without explaining format, match behavior, or interplay. This does not compensate for 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 the verb 'List', the resource 'active companies', and the optional filters by ID, name, or external ID. It distinguishes this from sibling tools by focusing on companies, with no overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: list active companies with optional filters. It does not explicitly mention when not to use or list alternatives, but since this is the only company-listing tool among siblings, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_company_groupsC
List the user groups related to a company.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | Yes |
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 such as read-only nature, permissions required, or pagination. 'List' implies read-only but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose. However, it could include more essential details 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?
Given no output schema and minimal description, the tool definition lacks completeness. It does not explain what 'user groups' are, the return format, or any limitations.
Complex tools with many parameters or behaviors need more documentation. 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 implies that 'company_id' identifies a company, lacking details on format or validation. It 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 the verb 'List' and the resource 'user groups related to a company'. It distinguishes from sibling tools like 'list_groups' by specifying the company relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., 'list_groups') is provided. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_company_membersC
List the members of a company (optionally check one user).
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | Yes | ||
| user_id | No |
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 says 'list', implying read-only, but lacks details on permissions, rate limits, pagination, 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 concise, one sentence that gets to the point. It is front-loaded, but could include slightly more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and two parameters, the description is too minimal. It does not explain return format, error handling, or the effect of omitting user_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 description coverage is 0%. The description adds minimal meaning: company_id is implied, user_id is optional for 'checking' but does not explain format or exact behavior. Insufficient given the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists company members and optionally checks a specific user. The verb 'list' and resource 'company members' are specific, but it does not explicitly differentiate from siblings like list_company_groups or find_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 (e.g., list_company_groups, get_user). Usage context is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_company_observersB
List companies and their observers (optionally filtered by IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, and the description lacks any behavioral details beyond the basic operation. No mention of idempotency, permissions, rate limits, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It could be slightly more structured (e.g., indicating output format) but 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 simplicity of the tool (one optional parameter, no output schema), the description is minimal but leaves questions about what 'observers' means and the output structure. It could provide more context without much verbosity.
Complex tools with many parameters or behaviors need more documentation. 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 filtering by IDs, adding value beyond the schema which lacks parameter descriptions. However, it does not clarify what the IDs represent (company IDs or observer IDs), leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resources (companies and their observers), with optional filtering by IDs. It distinguishes from siblings like list_companies or list_company_members by focusing on observers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., list_helpdesk_observers). It only mentions optional filtering, no 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.
list_custom_fieldsA
List all active custom field definitions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions 'active' filter but lacks details on read-only nature, rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant information, perfectly concise for a zero-parameter 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 tool with no parameters, no output schema, and simple purpose, the description fully suffices. No additional details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema coverage 100%. The description adds meaning by specifying 'active custom field definitions', which is useful context 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?
The description uses specific verb 'list' and resource 'active custom field definitions', clearly distinguishing from sibling tools like 'list_custom_fields_by_category' that filter by category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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_custom_field_config' or 'list_custom_field_types'. Sibling tools exist but no differentiation provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_fields_by_categoryC
List the custom fields related to a category.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only says 'list' without confirming read-only nature, pagination, 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 a single concise sentence, but it lacks structure such as front-loading key info or separating usage notes. 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 no output schema, low param coverage, and no annotations, the description is insufficient. It doesn't explain what 'related to a category' means or how the result is structured.
Complex tools with many parameters or behaviors need more documentation. 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 single parameter category_id, and the tool description adds no meaning, leaving the agent to guess its format or provenance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists custom fields filtered by a category, distinguishing it from siblings like list_custom_fields (all fields) and get_custom_field_config (single field 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 such as list_custom_fields or get_custom_field_config. The description does not provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_field_typesA
List supported custom field types (type code -> description).
| 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 such as read-only nature, authentication requirements, or potential side effects. For a simple list operation, a brief note on safety would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that concisely conveys the tool's purpose with no extraneous information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description is minimally adequate. However, it lacks any information about the return format, pagination (if any), or behavioral context, which would be helpful for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema covers everything. Per the rubric, a baseline of 4 applies. The description adds no extra parameter meaning, which is acceptable given the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists supported custom field types with a mapping from type code to description. It is specific and distinguishes from other list tools like list_custom_fields or list_custom_fields_by_category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 the tool is for retrieving available custom field types, but does not provide explicit guidance on when to use it versus alternatives or any prerequisites. It relies on the tool's name and sibling context to convey its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_group_membersB
List the members of a group (optionally check one user's membership).
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | ||
| user_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behaviors. It only states the basic operation, omitting details about permissions, output format, or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the essential information without extraneous 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 output schema or annotations, the description lacks coverage of return values, pagination, or error states, making it incomplete 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 0%, so the description must add meaning. It clarifies that user_id is for optional membership check but does not describe group_id or parameter formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action and resource: 'List the members of a group' and adds a specific optional behavior 'optionally check one user's membership'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (need group members) but does not specify when not to use or differentiate from sibling tools like list_company_members or list_location_members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_groupsB
List active groups, or one in particular by ID or name.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden; only mentions 'active groups' but lacks details on read-only nature, side effects, 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?
Single concise sentence with no wasted words; adequately 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?
Adequate for a simple list tool, but lacks output format details and fails to explain behavior when both parameters are provided; with many siblings, more context would help.
Complex tools with many parameters or behaviors need more documentation. 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%, but description adds meaning by explaining that group_id and name are optional filters to retrieve a single group, which schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain 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 'List', resource 'active groups', and mentions optional filtering by ID or name, distinguishing it from sibling list 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 explicit guidance on when to use this tool vs alternatives like list_group_members or list_company_groups; context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_helpdesk_levelsB
List active help desk levels, or one in particular by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| level_id | No | ||
| include_deleted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries burden. It implies a read-only list operation but does not confirm safety, side effects, or permissions. The 'include_deleted' parameter hints at mutation in reading deleted records, but not fully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded with the main action ('List active help desk levels') and optional variant ('or one in particular by ID'). 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 annotations or output schema, the description lacks details on response structure (e.g., fields returned, pagination, ordering). For a list tool with two parameters, more context is needed for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning: 'or one in particular by ID' explains level_id's purpose, and 'active' combined with include_deleted clarifies default behavior. However, it doesn't specify parameter types or exact effect of include_deleted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists help desk levels, with optional filtering by ID. It distinguishes from siblings like list_helpdesks_and_levels (which lists both helpdesks and levels) and list_level_observers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., list_helpdesks_and_levels, list_level_observers). No mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_helpdesk_observersC
List help desks and their observers (optionally filtered by IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavior. It states a read-only operation but omits details about output format, pagination, authentication 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 a single concise sentence. It is appropriately sized but could be more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at return structure but does not. It is adequate for a simple list tool but lacks completeness for an AI agent to fully understand 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?
One parameter 'ids' is described as 'optionally filtered by IDs,' which adds meaning beyond the schema. However, it is ambiguous whether IDs refer to help desk IDs or observer IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists help desks and their observers, with optional filtering by IDs. However, it does not differentiate from closely related siblings like list_helpdesks or list_level_observers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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., list_helpdesks, list_company_observers). 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.
list_helpdesksC
List active help desks, or one in particular by ID or name.
| Name | Required | Description | Default |
|---|---|---|---|
| helpdesk_id | No | ||
| name | No | ||
| include_deleted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It claims 'active' help desks, but schema includes include_deleted parameter, creating inconsistency. No mention of permissions, rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose. Efficient but lacks completeness for a 3-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no output schema, and no annotations, the description is incomplete. It omits the include_deleted parameter and provides no detail on output format or pagination.
Complex tools with many parameters or behaviors need more documentation. 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%, requiring description to compensate. It mentions filtering by ID or name, adding some meaning, but does not explain the include_deleted parameter or parameter constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists help desks, with optional filtering by ID or name. It distinguishes from siblings like list_helpdesks_and_levels, but the term 'active' is specific and may conflict with the include_deleted parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 list_helpdesks_and_levels. The description implies listing active help desks or a specific one, but lacks explicit exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_helpdesks_and_levelsC
List help desks together with their levels, or one by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| helpdesk_id | No | ||
| include_deleted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It confirms a listing operation but does not disclose that it is read-only, potential authentication needs, or the effect of the 'include_deleted' parameter. The behavior when 'helpdesk_id' is provided is implied but not explicit.
Agents need to know what a tool does to the world before calling 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) and thus concise, but it lacks structure or additional details that would enhance clarity. It is not verbose, but it is also not optimally 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 lack of output schema and annotations, the description should provide more context about the response (e.g., how help desks and levels are combined), the effect of 'include_deleted', and how to interpret results. The current description is insufficient 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%, yet the description adds almost no meaning to the parameters. It only hints at 'helpdesk_id' via 'or one by ID', but does not explain the 'include_deleted' parameter or the expected format of IDs. The description fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list') and the resource ('help desks together with their levels'), and mentions an optional filter ('or one by ID'). However, it does not explicitly distinguish from sibling tools like list_helpdesks or list_helpdesk_levels, leaving 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 is provided on when to use this tool versus alternatives (e.g., list_helpdesks, list_helpdesk_levels). There are no when-to-use or when-not-to-use instructions, and 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.
list_incidents_by_agentB
List incidents assigned to an agent (by id, email or username).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| No | |||
| username | No | ||
| include_comments | No | ||
| limit | No | ||
| page_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'list incidents assigned to an agent' without mentioning pagination, rate limits, or that it is a read operation. The optional parameters (limit, page_key) for pagination are not explained, leaving the agent unaware of how data is returned.
Agents need to know what a tool does to the world before calling 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) and front-loads the purpose. However, it lacks structure for additional details, and the brevity results in under-specification of behavioral and parameter 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?
With no output schema, no annotations, and 6 undocumented parameters, the description fails to cover pagination, optional parameters, or the behavior when no agent identifier is provided. The tool has many siblings, but the description does not help the agent differentiate beyond the basic filter. Significant 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 description coverage is 0%, yet the description only mentions id, email, and username, ignoring include_comments, limit, and page_key. It does not clarify that the agent identifiers are optional or how they relate (e.g., mutually exclusive). Thus, the description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists incidents assigned to an agent, with filtering by id, email, or username. This distinguishes it from sibling tools like list_incidents_by_asset or list_incidents_by_status, each filtering by a different entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing incidents by agent via name/identifier, but it does not explicitly state when to prefer this over alternatives (e.g., other list_incidents_by_* tools) nor provide exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidents_by_assetC
List the requests related to an asset.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It only states it lists requests but does not disclose whether it is read-only, what data is returned, or any rate limits. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is too concise and lacks necessary detail; minimal viable is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, one simple parameter, and many similar sibling tools, the description is incomplete. It does not differentiate from siblings, and the inconsistency with 'incidents' vs 'requests' adds confusion.
Complex tools with many parameters or behaviors need more documentation. 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 parameter 'asset_id' has no description in the schema or the tool description. The description does not clarify what format or source the asset_id refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'list the requests related to an asset' but the tool name refers to 'incidents', not 'requests'. There is a sibling tool 'list_requests_related_to_assets' which creates confusion. The verb 'list' is specific, but the resource is 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 the many other incident-listing siblings (e.g., list_incidents_by_agent, list_incidents_by_customer). No context on when this is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidents_by_cisB
List the requests linked to CIs (by source ID and CI IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| cis_source_id | Yes | ||
| ci_ids | No | ||
| group | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states the basic purpose, omitting details like required permissions, pagination, error behavior, or whether it is read-only. The description adds minimal behavioral context beyond the function 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 a single, very concise sentence (12 words) that conveys the essential purpose without extraneous content. It is well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (list function, 3 params, no output schema), the description is minimally adequate. It lacks details on return format, pagination, or usage constraints, but the basic function is covered.
Complex tools with many parameters or behaviors need more documentation. 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%, but the description partially compensates by indicating that 'cis_source_id' and 'ci_ids' are used for filtering. However, it does not explain the 'group' parameter or provide detailed semantics for any 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 lists requests linked to CIs, filtering by source ID and CI IDs. It distinguishes from siblings that filter by other criteria (e.g., agent, asset, status). However, 'requests' may differ from 'incidents' used in sibling tools, 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 alternatives like list_incidents_by_asset or list_requests_related_to_assets. The description implies a specific filtering scenario but does not exclude other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidents_by_customerB
List open incidents from a customer (by id, email or username).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| No | |||
| username | No | ||
| include_comments | No | ||
| limit | No | ||
| page_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states it lists open incidents. It does not disclose pagination behavior (limit, page_key), effect of include_comments, sorting, or any limits. Minimal transparency beyond basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded. However, it is too minimal given the number of parameters; additional brief explanations could improve clarity without significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, no annotations, and no output schema, the description is incomplete. It fails to explain pagination, optional filters, or what 'open incidents' entails. Significant gaps reduce an agent's ability 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%. The description only mentions id, email, and username as identifiers, ignoring the three other parameters (include_comments, limit, page_key). No explanation of their purpose or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('open incidents') and identifies the customer via id, email, or username. It distinguishes from sibling tools like list_incidents_by_agent or list_incidents_by_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing incidents by customer, but does not provide explicit when-not-to-use guidance or alternative tools among the many siblings. It also fails to clarify that at least one identifier (id, email, username) should be provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidents_by_helpdeskB
List open incidents in a help desk (or several help desk IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| helpdesk_id | No | ||
| helpdesk_ids | No |
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 only says 'list open incidents,' implying a read-only operation, but does not mention pagination, ordering, limits, authorization needs, or any side effects. This is insufficient for a tool with no annotation safety cues.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct and to the point. No wasted words. Front-loads the core action and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should indicate what the tool returns (e.g., entire incidents, IDs, summaries). It doesn't mention any default behavior like ordering, pagination, or whether all fields are included. For a list tool, this leaves 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?
Schema description coverage is 0%, so the description must compensate. It clarifies that parameters specify 'a help desk (or several help desk IDs),' providing context beyond the schema's type definitions. However, it doesn't elaborate on the exact role of helpdesk_id vs helpdesk_ids or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List open incidents in a help desk (or several help desk IDs).' It uses a specific verb ('list') and resource ('incidents') with a distinguishing scope ('by helpdesk'), differentiating it from sibling tools like list_incidents_by_agent or list_incidents_by_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?
No guidance on when to use this tool vs alternatives. Among siblings, there are many similar list_incidents_by_* tools, but the description doesn't explain why one would choose this over, say, list_incidents_by_customer or list_incidents_by_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incidents_by_statusC
List open incidents matching a status (or several status IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| status_id | No | ||
| status_ids | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is minimal and does not disclose behavioral traits such as pagination (limit/offset), default ordering, response size, or whether the tool returns full incident details or summaries. Since no annotations are present, the description carries full burden for transparency and fails to provide key behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, the phrasing 'List open incidents' is somewhat redundant with the tool name and could be more precise. The sentence is front-loaded but could be shorter without losing meaning. It is adequate but not exceptional in conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 parameters, no output schema, no annotations, many siblings), the description is insufficient. It does not address pagination, default behavior, or how to choose between status_id and status_ids. An agent would lack necessary context to invoke the tool correctly, especially compared to richer sibling definitions.
Complex tools with many parameters or behaviors need more documentation. 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 zero description coverage for its four parameters. The description explains the purpose of status_id and status_ids ('matching a status or several status IDs') but omits limit and offset entirely. It also does not clarify how status_id and status_ids interact (e.g., mutually exclusive, combined). The description adds minimal value beyond the raw 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 lists incidents filtered by status, using the verb 'list' and specifying the resource (incidents) and filter criterion (status). It distinguishes from sibling tools like list_incidents_by_agent or list_incidents_by_customer by focusing on status. However, the term 'open incidents' is ambiguous and may not align with the tool's name or 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. With many sibling tools for listing incidents (e.g., by agent, asset, helpdesk), the description does not help an agent decide between them. There is no mention of prerequisites, exclusions, or context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_incident_typesC
List incident types (e.g. Incident, Service Request, Problem, Change).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits (e.g., read-only nature, side effects, authentication). It simply restates the action without revealing safety, performance, or authorization 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 a single sentence with no wasted words, but it is too brief and omits necessary details about parameters and usage. It earns its place for stating the purpose but is not optimally 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 simple tool with 1 parameter and no output schema or annotations, the description is incomplete. It fails to explain the parameter, return format, or any relevant behavioral context, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'id' with 0% description coverage, and the tool description does not explain its purpose (e.g., filtering by ID). The agent cannot infer how to use the parameter correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists incident types and provides concrete examples (Incident, Service Request, Problem, Change), making the purpose specific and distinguishable from sibling list_* 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 like list_categories or list_statuses. No prerequisites, exclusions, or context provided to help the agent decide appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_kb_articlesC
List Knowledge Base articles with their properties.
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | ||
| order_by | No | ||
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description identifies the operation as listing (read-only) but does not disclose behavioral traits such as default sorting, pagination behavior, or whether all articles are returned. With no annotations, the description bears full responsibility but provides only minimal 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 single, concise sentence with no fluff. However, it may be too terse, missing opportunities to add helpful context without significantly increasing length. It is adequately 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 no output schema, the description should convey what the return value contains. Saying 'with their properties' is vague, and there is no mention of pagination, default behavior, or the fact that it returns a list. This is insufficient for an agent to fully understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. 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 any parameter. The parameter names ('sort_by', 'order_by', 'limit', 'offset') hint at functionality but lack clarity (e.g., does 'order_by' specify a field or direction?). The description adds no value beyond the schema, which itself is sparse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Knowledge Base articles with their properties, providing a specific verb and resource. It distinguishes from siblings like 'list_kb_articles_by_category' and 'search_kb_articles' by being a general listing, though it could be more explicit about the 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 like 'list_kb_articles_by_category' or 'search_kb_articles'. There is no mention of context, exclusions, or prerequisites, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_kb_articles_by_categoryC
List articles in a category (visibility: 1=public).
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | ||
| limit | No | ||
| offset | No | ||
| visibility | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only mentions visibility mapping and does not disclose read-only nature, pagination behavior, or authentication needs. This is insufficient for a tool with multiple parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with verb and resource. It is concise without extraneous information. However, given the lack of schema descriptions, it could have included more details 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?
The description is minimal for a tool with 4 parameters and no output schema. It does not cover pagination (limit, offset) or categorization details. The visibility note is helpful but 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?
The schema has 0% description coverage. The description adds meaning for the visibility parameter ('1=public'), but does not explain category_id, limit, or offset. It partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists articles in a category. It includes a brief note about visibility mapping, which adds specificity. However, it does not differentiate from sibling tools like list_kb_articles or search_kb_articles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 implies it is for listing by category, but lacks when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_kb_categoriesB
List all Knowledge Base categories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries burden. Only states it lists categories, but no info on return format, pagination, auth requirements, or scope (e.g., top-level only?).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no waste. Efficient communication of 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?
Adequate for a simple list-all tool with no parameters, but lacks output schema info and mentions of hierarchical structure or filtering. Could be more complete given sibling 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?
No parameters; schema coverage is 100% trivially. Baseline 3 applies. Description adds no extra parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description is specific: verb 'list' and resource 'Knowledge Base categories'. Clearly distinguishes from siblings like get_kb_categories_by_ids (specific IDs) and list_categories (general categories).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 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.
list_level_observersC
List help desk levels and their observers (optionally filtered by IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It mentions listing levels and observers with optional filtering, but does not disclose any behavioral traits (e.g., read-only, permissions, ordering, pagination). The description fails to fully inform the agent about the tool's behavior 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 extremely concise, consisting of a single sentence with no unnecessary words. It front-loads the core purpose and the optional filter. Yet, it might be too terse, missing some details that could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description covers the main function and the parameter. However, it could be more complete by clarifying the output structure (e.g., list of levels with observers) and whether it is read-only. It is adequate but has room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It states 'optionally filtered by IDs', which gives context to the 'ids' parameter. However, it does not specify what IDs refer to (level IDs? observer IDs?) or the expected format, leaving ambiguity. It provides some value but not comprehensive semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'help desk levels and their observers', with optional filtering by IDs. It distinguishes from sibling tools like list_helpdesk_observers which likely lists observers only. However, it could be clearer whether it returns a list of levels each with observers or a flat list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list_helpdesk_observers or list_helpdesks_and_levels. The description implies usage when you need both levels and observers, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_location_membersB
List the members of a location (optionally check one user).
| Name | Required | Description | Default |
|---|---|---|---|
| location_id | Yes | ||
| user_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states it's a list operation, but omits details such as required permissions, pagination, rate limits, or return format. The 'optionally check one user' behavior is ambiguous (e.g., returns true/false or filters the list). The description lacks essential 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 very short (one sentence) with no redundant words. It efficiently conveys the core action. However, it may be too brief for adequate understanding, but conciseness itself is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters and no output schema, the description provides the basic purpose and optional filtering. However, it lacks details on output structure, pagination, permissions, and the exact effect of the optional user_id. It is minimally 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 coverage is 0% (no parameter descriptions in schema). The description adds minimal meaning: 'optionally check one user' vaguely hints at the user_id parameter's purpose but does not clarify whether it filters results or returns a boolean. The location_id parameter is not explained at all. For a tool with zero schema coverage, the description must compensate but fails to provide clear 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 clearly states the verb 'list' and the resource 'members of a location', and distinguishes from sibling tools like list_group_members or list_company_members by specifying the location scope. The parenthetical 'optionally check one user' adds nuance, clarifying an optional filtering use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for listing location members or checking a specific user's membership, but it provides no explicit guidance on when to use this tool vs. similar list member tools (e.g., list_company_members, list_group_members) or when not to use it (e.g., if only aggregate counts are needed). No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_location_observersB
List locations and their observers (optionally filtered by IDs).
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose read-only nature, any prerequisites, or potential side effects, leaving behavior ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. But could include more 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?
Given simple tool (1 optional param, no output schema), description covers basic purpose and filter option. However, lacks return value hints or explanation of 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 description adds that the 'ids' parameter is for optional filtering, but does not specify what IDs refer to (location IDs? observer IDs?). Schema has 0% coverage, so description partially compensates but remains ambiguous.
Input schemas describe structure but not intent. Descriptions should explain 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 lists locations and their observers, which is a specific verb+resource combination. It distinguishes from siblings like list_company_observers and list_location_members by focusing on locations and observers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 list_location_members or list_company_observers. The description merely states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_locationsB
List active locations, or one in particular by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| location_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool lists 'active' locations and supports optional filtering by ID. However, no annotations exist, and details like pagination, ordering, or error handling are omitted.
Agents need to know what a tool does to the world before calling 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 at 7 words, with no wasted text. However, it is borderline too short for the level of detail 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?
For a simple tool with one optional parameter, the description covers the basic functionality but lacks details on response format, meaning of 'active', or error conditions. 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?
Schema description coverage is 0%, so the description must compensate. It adds minimal value by mentioning 'by ID', but does not explain the parameter's type, default behavior, or constraints beyond what the schema shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists active locations and can optionally filter by a specific ID. It distinguishes from siblings like 'get_*' tools by implying it can return multiple results, but does not explicitly differentiate from other list 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 is provided on when to use this tool versus alternatives. Among siblings there are many list tools, and the description offers no context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_prioritiesC
List incident priorities (e.g. Low, Medium, High, Urgent, Critical).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states it lists priorities, implying read-only, but fails to disclose any side effects, authentication needs, or behavioral traits such as sorting or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, short and to the point, but lacks necessary detail for effective tool usage. It is concise but not sufficiently 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 no output schema, no annotations, and a parameter with no description, the description is incomplete. It does not explain the return format, behavior with or without the optional id, or other contextual details needed 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 input schema has one optional integer parameter 'id' with 0% schema description coverage. The description does not explain this parameter, and the examples given (string values) are inconsistent with the integer type, 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 tool lists incident priorities and provides examples (Low, Medium, High, Urgent, Critical), which distinguishes it from other list tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over alternatives like list_statuses or list_incident_types. The description lacks explicit 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.
list_sourcesB
List incident sources (e.g. Portal, Email, Phone, API).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
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 'list' which implies a read operation, but omits details like whether all sources are returned or if the 'id' parameter filters results. No mention of pagination, ordering, 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 a single sentence that immediately states the tool's purpose. It is appropriately front-loaded and concise, though could benefit from slight expansion on parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, the description is minimally adequate. However, it lacks information about return format, behavior when no parameter is given, and potential filtering logic, which are expected for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should compensate. It lists examples of source values but does not explain the 'id' parameter's meaning or behavior (e.g., filter vs. get single source). The description adds marginal 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 uses the specific verb 'list' and clearly identifies the resource 'incident sources', with examples (Portal, Email, etc.). It distinguishes this tool from siblings, none of which cover sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 alternatives are mentioned. However, the tool's purpose is straightforward (listing sources), and its utility is implied given the sibling tools cover other entities. A simple list tool may not require extensive guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_statusesB
List incident statuses.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says 'List', which hints at a read-only operation, but does not explicitly state safety, authentication requirements, or any side effects. This is insufficient for an agent to assess behavioral impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information. Every word is necessary, and the structure is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 optional param, no output schema, no annotations), the description should provide context for the parameter and expected behavior. It fails to do so, leaving the agent with insufficient information to correctly 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 schema has 0% description coverage for the sole parameter 'id'. The description does not mention this parameter at all, leaving the agent without any understanding of its purpose (e.g., filtering by specific status ID?). 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 'List incident statuses' clearly states a specific verb ('list') and resource ('incident statuses'), distinguishing it from sibling tools that list other entities (e.g., list_priorities, list_categories). No tautology, and the purpose is immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool should be used when the agent needs to retrieve incident statuses, but it provides no explicit usage context, such as when not to use it or alternatives. Given the number of sibling 'list_*' tools, some guidance would help, but the name alone offers implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_time_trackingB
List time tracking entries for a request or within a date interval (provide request_id or from_date; dates are ISO-8601).
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | No | ||
| from_date | No | ||
| to_date | No | ||
| date_format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose behavioral traits such as read-only nature, permissions, pagination, or result format. It only describes basic filtering, leaving the agent with minimal understanding of side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and key parameter constraints without unnecessary words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema, no annotations), the description is incomplete. It fails to specify return values, pagination, or the range of possible values for parameters, which are critical for an agent to 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?
Schema description coverage is 0%, so the description must compensate. It mentions request_id and from_date, and notes ISO-8601 format, but does not explain to_date or date_format. Thus, it adds partial meaning beyond the schema but leaves gaps for two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists time tracking entries and specifies two distinct filtering modes: by request_id or date interval. It mentions ISO-8601 date format, which differentiates it from sibling tools like list_time_tracking_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by stating the required parameters (request_id or from_date), but it does not provide explicit guidance on when not to use it or compare to alternatives among the many sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_time_tracking_categoriesA
List time tracking categories (or one by ID), including cost_per_hour.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It states the inclusive field (cost_per_hour) but does not disclose pagination, error handling, or effects of missing/ invalid category_id. Basic transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no extraneous information. Every word adds 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?
For a simple list tool with one optional parameter and no output schema, the description covers the main functionality. It lacks details on edge cases like invalid IDs or empty results, but is adequate for basic 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 coverage is 0% (no parameter descriptions in schema). The description adds that category_id filters to a single category, which goes beyond the schema alone. However, it does not explain data type constraints or default behavior extensively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists time tracking categories and optionally by ID, mentioning it includes cost_per_hour. It distinguishes from sibling tools like list_time_tracking, which likely track entries rather than categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 context implies it is for retrieving time tracking categories, but no comparison with sibling tools or alternative methods is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trigger_executionsC
List each time a specific trigger was executed.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits such as read-only nature, pagination, ordering, or required permissions. The description only states 'list' without elaboration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it sacrifices necessary detail for brevity, making it too 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 absence of output schema and annotations, the description fails to cover expected return format, execution history scope, or any filtering capability, 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 0%, and the description only implies the parameter trigger_id by mentioning 'specific trigger', but does not explain its purpose or how to obtain its value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and the resource (trigger executions), distinguishing it from siblings like list_triggers which list triggers themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 provided on when to use this tool versus alternatives (e.g., list_triggers) or any context like 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.
list_triggersC
List the automation triggers, or one in particular by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| trigger_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'List the automation triggers' without revealing read-only nature, resource consumption, or any side effects. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it sacrifices informative content for brevity. It could include the parameter's effect more explicitly 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?
For a simple list tool with one optional parameter, the description omits crucial context: what is returned (list of objects? just IDs?), behavior when ID is not found, and whether pagination applies. Sibling tools like list_trigger_executions suggest related functionality that is not addressed.
Complex tools with many parameters or behaviors need more documentation. 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 mention 'or one in particular by ID' hints at the parameter's purpose, but does not explain the ID format, default behavior (list all when omitted), or validation constraints. The schema already shows the type but the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists automation triggers, with an optional ID to retrieve a specific one. This verb-resource combination distinguishes it from sibling 'list_*' tools which target different 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 (e.g., list_trigger_executions). The description only explains the basic functionality without contextualizing its role among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_usersC
List users, optionally filtered to specific IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| include_disabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It does not disclose any behavioral traits such as pagination, authentication needs, or output format, leaving the agent uninformed about how the tool behaves beyond the minimal listing.
Agents need to know what a tool does to the world before calling 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, short sentence that is front-loaded and contains no redundant information. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional parameters, no output schema, no annotations), the description is minimally adequate. However, it omits the 'include_disabled' parameter and any mention of output or usage context, making it incomplete for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It partially explains the 'ids' parameter ('optionally filtered to specific IDs') but completely ignores 'include_disabled'. This leaves a significant gap in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'users', and mentions optional filtering by IDs. It is specific enough to distinguish from other list tools, though it does not explicitly contrast with siblings like find_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 is given on when to use this tool versus alternatives such as find_users. The description does not provide 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.
search_kb_articlesC
Search Knowledge Base articles by keywords (relevance-ranked).
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | ||
| min_search_scoring | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only mentions relevance ranking but lacks details on authorization needs, rate limits, result set behavior (e.g., only published articles), or pagination, which are critical for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded, but it sacrifices necessary detail. While efficient, it omits important information about parameters and 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?
Given three parameters, no output schema, and no annotations, the description is inadequate. It does not explain return values, pagination, or scoring thresholds, leaving the agent without enough context 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%, yet the description only explains the 'keywords' parameter. It fails to add meaning for 'min_search_scoring' and 'limit', leaving their purpose and acceptable values entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Search', the resource 'Knowledge Base articles', and the method 'by keywords (relevance-ranked)', effectively distinguishing it from sibling tools like 'list_kb_articles' and 'get_kb_articles_by_ids'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 keyword-based searching but provides no explicit guidance on when to use this tool versus alternatives such as 'list_kb_articles' or 'get_kb_articles_by_ids'. No when-not-to-use or context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct entities or filtered views, but the multiple list_incidents_by_* functions could cause confusion without careful reading. Descriptions clarify the filter, so ambiguity is low.
Naming follows a consistent verb_noun pattern (get_, list_, find_, search_) with minor exceptions like get_breaking_news_status mixing list-like behavior. Overall, predictable.
63 tools is high, but the service desk domain has many entities. The count is justifiable though slightly excessive; some tools could be merged (e.g., list_incidents_by_*).
The entire tool set is read-only (no create, update, or delete operations). Missing basic CRUD for incidents, users, and other entities makes it severely incomplete for typical automation workflows.
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
AI-powered incident management and server monitoring via MCP.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for Kaseya BMS PSA — tickets, accounts, time entries, and contracts. Enables AI assistants to manage service desk operations via the Kaseya BMS API.Apache 2.0
- AlicenseAqualityCmaintenanceA read-only MCP server for InvGate Asset Management, enabling natural language queries for assets, people, computers, servers, software, and API health.12151MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to interact with Freshservice service desk, supporting ticket search, retrieval, and creation via a configurable, Docker-first deployment.MIT
- FlicenseNot gradedqualityBmaintenanceMCP server that provides IT support tools to search known incidents, check ticket status, and create ticket drafts, enabling an AI assistant to help users with IT support queries.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tracegazer/invgate-service-desk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server