mcp-tomticket
mcp-tomticket
Servidor MCP para a API TomTicket v2. Lista, responde, lança horário e finaliza chamados e também cobre clientes, organizações, chats, departamentos e base de conhecimento.
Não existe endpoint de login. O Bearer Token é criado no painel: Administração → Configurações da Conta → API → Novo Token. Marque Pode criar e modificar dados para respostas, horário e finalização.
O token vai só em variável de ambiente. Nunca o commite.
Requisitos
Node.js >= 18
Token de API do TomTicket (conta Premium/Enterprise)
Related MCP server: relation-mcp
Instalação
Via npm (recomendado):
npx mcp-tomticketNo Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"tomticket": {
"command": "npx",
"args": ["-y", "mcp-tomticket"],
"env": {
"TOMTICKET_TOKEN": "cole-o-token-aqui"
}
}
}
}Clone local:
git clone https://github.com/glira/mcp-tomticket.git
cd mcp-tomticket
npm install
cp .env.example .env
# edite .env e cole o TOMTICKET_TOKEN
npm run buildValidação rápida (somente leitura):
npm run smokeOpcional — cria, comenta, responde e finaliza um chamado de teste com assunto [MCP TESTE]:
npx tsx scripts/smoke.ts --writeRecarregue os MCPs em Settings → MCP. Exemplo local em .cursor/mcp.json.example.
Tools principais
Tool | Ação |
| Chamados abertos |
| Todos, com filtros |
| Detalhe + respostas + horários |
| Resposta do atendente ( |
| Comentário interno |
| Finaliza ( |
| Cronômetro de status |
| Abre chamado |
| Transferir / vincular atendente |
Há também tools de clientes, organizações, chats, departamentos, KB e campos personalizados. Operações de escrita avisam que alteram produção. Finalizar um chamado exige atendente vinculado (tomticket_assign_operator).
Rate limit
A API aceita 3 requisições por segundo. O client aplica intervalo mínimo de 350 ms.
Variáveis
Variável | Obrigatória | Descrição |
| sim | Bearer Token do painel |
| não | Padrão |
Licença
Available Tools
49 toolstomticket_add_custom_field_optionB
ATENCAO: altera producao. Adiciona opcao em campo personalizado.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| custom_field_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral transparency burden. The 'ATENCAO: altera producao' warning does disclose that this operation modifies production data, which is useful. However, it does not explain consequences such as irreversibility, permission requirements, duplicate handling, or effects on existing tickets or forms.
Agents need to know what a tool does to the world before calling 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 compact: a production warning followed by a direct action statement. There is no redundant filler, and the important warning is front-loaded. It could be more informative, but for what it includes, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description is minimally adequate. It names the operation and warns about production impact. However, it lacks guidance on where custom_field_id comes from, what happens to existing data, and whether the operation can be undone, which is especially relevant given the production-change warning.
Complex tools with many parameters or behaviors need more documentation. 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, so the description must compensate for parameter meaning. It partially does: 'opcao' maps to the 'value' parameter and 'campo personalizado' maps to 'custom_field_id'. Still, it does not clarify the expected format of 'value', uniqueness constraints, or how to locate the correct custom_field_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—'Adiciona opcao em campo personalizado' (adds an option to a custom field)—clearly identifying the verb and resource. It is easily distinguished from the sibling tool 'tomticket_remove_custom_field_option', which performs the opposite operation. The warning 'altera producao' adds context but is not the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when an option needs to be added to a custom field. However, it does not explicitly mention alternatives, exclusions, or prerequisites such as needing to list custom fields first to obtain the custom_field_id. Usage is inferable from the action verb but not clearly routed against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_assign_operatorB
ATENCAO: altera producao. Vincula um atendente ao chamado.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| operator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The warning 'ATENCAO: altera producao' honestly signals that this is a production-changing mutation, which is valuable given that no annotations are present. However, it does not disclose what happens to an existing assignment, whether the operation is idempotent, what permissions are required, or what side effects may occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one safety warning and one action statement. It is front-loaded with the production-change warning and contains no redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 two-parameter mutation tool, the description gives the essential operation and a production warning. However, because there is no output schema and no annotations, more context would help, such as whether the assignment replaces the current operator, state requirements for the ticket, and how errors are surfaced.
Complex tools with many parameters or behaviors need more documentation. 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 already documents ticket_id, and the expression 'atendente ao chamado' adds semantic meaning to operator_id, making clear that the parameter is an attendant/operator. Yet operator_id has no explicit description and no source or format is provided, so the description only partially compensates for the 50% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific action: 'Vincula um atendente ao chamado', which means assigning an operator to the ticket. This distinguishes it from generic list/create operations, though it does not explicitly differentiate it from the related sibling tomticket_transfer_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool or when to prefer an alternative like tomticket_transfer_ticket. The description implies the use case merely through the action, but provides no routing context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_check_email_blacklistA
Consulta se o email esta na blacklist de abertura de chamados por email. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states 'Nao altera dados', making clear the operation is read-only and side-effect-free. It does not describe return format or edge cases, but for a simple blacklist check the non-mutating guarantee is the most important behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, with the main action front-loaded and a concise side-effect disclaimer afterward. Every phrase earns its place, and there is no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 one-parameter tool with no output schema, the description covers the core invocation: what is checked, which email is checked, and that no data is modified. It omits an explicit return-value format, but 'consulta se' plus the tool name make the boolean nature inferable, and no annotations or schema make further detail strictly necessary.
Complex tools with many parameters or behaviors need more documentation. 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 clarify the parameter's meaning; it does by indicating that the 'email' parameter is the address checked against the blacklist. It adds no format, normalization, or case-sensitivity guidance, but the single parameter's name and role are sufficiently clear for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Consulta') and a precise resource ('blacklist de abertura de chamados por email'), clearly stating what the tool checks. It also distinguishes itself from the many ticket/customer tools in the sibling list, and no sibling covers email blacklist functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description embeds the relevant context: the blacklist applies to opening tickets via email, so an agent can infer when to call this tool, such as before email-based ticket creation. It does not explicitly list alternatives or exclusions, but no sibling tool duplicates this capability, so the omission is not harmful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_close_statusB
ATENCAO: altera producao. Encerra o status aberto do chamado (para o cronometro).
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes | Identificador do chamado (ticket_id). |
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 does warn 'ATENCAO: altera producao' and explains the timer-stopping effect, but it does not mention permissions, reversibility, or behavior if no open status exists. The warning is useful but thin.
Agents need to know what a tool does to the world before calling 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 compact: a production-change warning followed by a clear action-and-effect statement. There is no filler, and the warning 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?
For a simple one-parameter tool with no output schema, the description provides the action, the side effect, and the business purpose. It lacks preconditions or post-conditions, but it is largely complete for an agent to invoke 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 single parameter ticket_id is already fully documented in the schema with 100% coverage, so the description adds no additional parameter meaning. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Encerra o status aberto do chamado' (closes the ticket's open status) and explains the purpose with '(para o cronometro)' (stops the timer). It is specific enough to distinguish the action from finish_ticket or start_status, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus siblings like tomticket_start_status or tomticket_finish_ticket, and no preconditions such as requiring an open status to exist. The usage context is only implied by the action described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_comment_ticketA
ATENCAO: altera producao. Adiciona comentario interno no chamado.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | Yes | ||
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| attachments | No | Caminhos locais de anexos, separados por virgula. Maximo 25 arquivos / 25 MB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem annotações, a descrição carrega o peso e inclui o aviso 'ATENCAO: altera producao', o que alerta sobre efeito em produção. Porém, não detalha permissões, reversibilidade ou outros efeitos colaterais além da mutação básica. O rótulo 'interno' adiciona contexto de visibilidade, mas o comportamento completo fica subespecificado.
Agents need to know what a tool does to the 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 descrição é curta, direta e começa com o aviso importante 'ATENCAO: altera producao'. Não há palavras desnecessárias, embora poderia incluir orientações de uso sem perder a concisão.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma ferramenta de mutação sem annotações e sem output schema, a descrição é mínima. Não explica o que acontece após adicionar o comentário, não orienta sobre quandousar vs. alternatives, e não descreve retorno ou pré-requisitos. A complexidade é baixa, mas a falta de orientação de uso e comportamento deixa lacunas.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema já cobre 67% dos parâmetros com descrições para ticket_id e attachments. A descrição da ferramenta acrescenta pouco sobre os parâmetros, apenas associa 'comentario' ao comentário e 'chamado' ao ticket_id, sem detalhar formato ou regras adicionais além do minLength.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição afirma claramente o verbo e o recurso: 'Adiciona comentario interno no chamado'. O termo 'interno' diferencia a ferramenta de operações como reply_ticket, tornando o propósito específico e distinto entre os irmãos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A descrição indica que o comentário é 'interno', o que sugere uso para anotações não visíveis ao cliente, mas não menciona explicitamente alternativas como reply_ticket nem condições de uso. A orientação é implícita, não explícita.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_create_articleC
ATENCAO: altera producao. Cria artigo na base de conhecimento.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| content | Yes | Conteudo HTML do artigo. | |
| visibility | Yes | Quem pode ver o artigo. | |
| category_id | Yes | ||
| display_order | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. The warning 'ATENCAO: altera producao' adds useful context that this operation changes production data, but it does not mention side effects, permissions, or whether the operation is reversible beyond what the word 'create' already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the important production-change warning before the action statement. It is efficient, though it sacrifices useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with four required parameters, no output schema, and no annotations, the description is too sparse. It omits return behavior, required permissions, category semantics, and any practical usage context beyond the minimal action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning. The schema describes only content and visibility; title and category_id remain minimally documented. With schema coverage around 50%, the description needed to compensate, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Cria artigo na base de conhecimento' (creates article in the knowledge base), with a specific verb and resource. It distinguishes itself from read/search/update siblings by the 'create' semantics, though it does not explicitly contrast with those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus tomticket_read_article, tomticket_search_articles, or tomticket_update_article. The warning 'altera producao' implies caution, but no explicit when/when-not or alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_create_customerB
ATENCAO: altera producao. Cria um novo cliente.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| No | |||
| phone | No | ||
| language | No | pt-BR, es_ES ou en-US. | |
| password | No | ||
| customer_id | Yes | Identificador interno (CPF, CNPJ ou chave do seu sistema). | |
| portfolio_id | No | ||
| custom_fields | No | Campos personalizados JSON. Ex.: {"ID":"valor"}. | |
| create_tickets | No | ||
| organization_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. The explicit warning 'ATENCAO: altera producao' is valuable and discloses that this is a production-mutating operation. However, it does not mention error behavior, idempotency, permission requirements, or consequences beyond the generic warning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a production-change warning followed by a clear statement of purpose. Every word earns its place and the most important operational caveat is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write operation with 10 parameters, no annotations, and no output schema, yet the description only offers a one-line purpose and generic production warning. It does not explain required fields, validation rules, side effects, or what a successful response looks like, so it is not sufficiently complete for reliable 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 only 30%, and the description adds no parameter-level meaning. The schema documents language and customer_id, but the other eight parameters remain unexplained, and the description does not compensate for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Cria' (creates) and the resource 'cliente' (customer), making the tool's purpose unambiguous. This differentiates it from sibling tools like list_customers, get_customer, and update_customer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 update_customer or create_organization. There are no prerequisites, exclusions, or conditions mentioned, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_create_organizationC
ATENCAO: altera producao. Cria uma organizacao.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| site | No | ||
| No | |||
| phone | No | ||
| strict_mail | No | ||
| strict_name | No | ||
| portfolio_id | No | ||
| custom_fields | No | Campos personalizados JSON. Ex.: {"ID":"valor"}. | |
| create_tickets | No | ||
| return_id_if_exists | No | ||
| team_see_all_tickets | No | ||
| monthly_tickets_quota | No | ||
| mother_organization_id | No | ||
| manager_see_all_tickets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. The opening warning 'ATENCAO: altera producao' adds real value by flagging this as a production-mutating operation. However, it does not disclose idempotency behavior implied by return_id_if_exists, side effects, or permission requirements, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and properly front-loaded: the production warning comes before the action, and both clauses carry information. It leans toward under-specification rather than disciplined conciseness, which prevents a top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 14 parameters, no annotations, no output schema, and minimal schema descriptions, a single sentence plus a warning is severely inadequate. The agent has no way to learn the return shape, the effect of return_id_if_exists, or which optional fields matter for common usage scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes zero parameter information. With schema description coverage at only 7%, 13 of 14 parameters (site, email, portfolio_id, strict_mail, return_id_if_exists, etc.) are undocumented in both the description and the schema, so an agent cannot reliably determine how to populate them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a concrete verb and resource — 'Cria uma organizacao' (creates an organization) — so the action is unambiguous. It does not, however, explicitly contrast itself with closely related siblings such as tomticket_update_organization or tomticket_list_organizations, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to create an organization versus updating an existing one, nor any prerequisites (e.g., whether a portfolio_id or email is normally required). An agent must infer appropriate usage purely from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_create_ticketA
ATENCAO: altera producao. Cria um novo chamado no TomTicket.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| subject | Yes | ||
| priority | No | 1 baixa, 2 normal, 3 alta, 4 urgente. | |
| attachments | No | Caminhos locais de anexos, separados por virgula. Maximo 25 arquivos / 25 MB. | |
| category_id | No | ||
| customer_id | Yes | Id interno ou email do cliente. | |
| custom_fields | No | Campos personalizados em JSON objeto. Ex.: {"ID_DO_CAMPO":"valor"}. | |
| department_id | Yes | ||
| customer_id_type | No | I id interno, E email. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the behavioral disclosure burden. It explicitly warns 'ATENCAO: altera producao' (changes production), which is a meaningful and useful alert about mutation impact. However, it does not disclose other behavioral aspects such as required permissions, side effects, or what happens on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences. The production warning is front-loaded and the purpose is stated directly. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter creation tool with no annotations and no output schema, a single sentence is insufficient. It does not explain key required inputs, prerequisites, or what the tool returns after creation. The moderate schema coverage does not overcome the overall lack of context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 56%, and the description itself adds no parameter-level meaning. Required parameters like department_id, subject, and message have no schema descriptions and are not clarified in the description. Only the schema documents customer_id, priority, attachments, custom_fields, and customer_id_type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a specific verb and resource: 'Cria um novo chamado' (creates a new ticket). This clearly distinguishes it from sibling creation tools like create_customer, create_organization, and create_article, all of which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description: use this when a new ticket needs to be created. However, there is no explicit guidance on when not to use it or how it compares to alternatives like reply_ticket, transfer_ticket, or finish_ticket.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_customer_existsB
Verifica se o cliente existe por email ou id interno. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. 'Nao altera dados' is a useful explicit guarantee that this is a read-only operation. However, the description does not disclose return behavior, such as whether it returns a boolean, throws an error, or returns a customer object when found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no redundant content. It front-loads the core purpose and includes a meaningful behavioral note. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple existence-check tool, the description covers the basic purpose and read-only nature. However, with no output schema and no annotations, it should at least indicate what the caller can expect in response, especially whether a missing customer is an error or a false result. It also does not differentiate itself from tomticket_get_customer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains customer_id as internal id or email and customer_type_id as I/E. The description only restates the customer_id semantics without adding new parameter-level detail. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Verifica se o cliente existe') on a specific resource ('cliente'), and identifies the lookup keys (email or internal id). It also notes the operation does not alter data, which helps distinguish it from create/update tools. It does not explicitly contrast with tomticket_get_customer, but the existence-check semantics are clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus alternatives such as tomticket_get_customer or tomticket_list_customers. The existence-check purpose is implied, but there is no mention of appropriate conditions, prerequisites, or cases where another sibling would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_customer_quick_accessB
ATENCAO: gera token temporario (5 min) para o painel do cliente.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does usefully disclose that a temporary token is generated, that it lasts 5 minutes, and that it targets the customer panel. However, it does not explain what the token enables, how it is returned, or whether it invalidates prior tokens.
Agents need to know what a tool does to the world before calling 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 compact sentence that front-loads the key warning and includes the most important facts: temporary token, 5-minute lifetime, and customer panel. It is not bloated, though the brevity leaves some behavioral gaps, so a 5 is not warranted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, yet the description does not mention the return format, how the token is consumed, or any permission or side-effect expectations. For a token-generation tool, this leaves an agent uncertain about response handling and downstream use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the customer_id parameter described as internal ID or email and customer_type_id defined via enum with a default. The description itself adds no parameter-level detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('gera token temporario') and the target resource ('painel do cliente'), so the core purpose is clear. It does not explicitly distinguish itself from sibling tools, though no sibling obviously generates access tokens; therefore it falls short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The 'ATENCAO' prefix is a warning rather than usage direction; an agent would have to infer the intended context from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_evaluate_ticketB
ATENCAO: altera producao. Avalia um chamado ja finalizado.
| Name | Required | Description | Default |
|---|---|---|---|
| grade | Yes | 5 otimo, 4 bom, 3 regular, 2 ruim, 1 pessimo. | |
| comment | No | ||
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| custom_fields | No | Campos personalizados em JSON objeto. Ex.: {"ID_DO_CAMPO":"valor"}. | |
| problem_solved | No | 1 se o problema foi resolvido. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavior. It warns 'altera producao', which conveys mutability, but it does not explain what changes occur, whether the evaluation can be modified, what permissions are required, or what side effects may follow. This is a significant gap for a mutation tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loads the critical production-altering warning. Every word carries weight, and there is no filler or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation mutation with five parameters and no output schema, this description is too thin. It does not explain the effect of evaluating a ticket, what response to expect, or practical constraints beyond the ticket being finalized. Agents are left to infer behavior from the schema and tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the baseline is 3; the schema already documents grade, ticket_id, custom_fields, and problem_solved. The description itself adds no parameter-level meaning, and the 'comment' parameter remains undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('avalia') and a resource ('um chamado ja finalizado'), making it clear the tool evaluates an already finalized ticket. It also warns about altering production, which helps distinguish it from read-only ticket tools. However, 'avalia' is somewhat broad and does not specify the full nature of the evaluation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly restricts usage to tickets that are 'ja finalizado', giving a clear precondition. It does not name alternative tools or state explicit when-not-to-use conditions, so the agent must infer that open or in-progress tickets should be handled by other ticket tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_finish_ticketA
ATENCAO: altera producao. Finaliza o chamado. time_work lanca minutos trabalhados. Nao dispara email automaticamente.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Mensagem de finalizacao. | |
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| time_work | No | Tempo trabalhado em minutos. | |
| attachments | No | Caminhos locais de anexos, separados por virgula. Maximo 25 arquivos / 25 MB. | |
| custom_fields | No | Campos personalizados em JSON objeto. Ex.: {"ID_DO_CAMPO":"valor"}. | |
| startup_justification | No | Justificativa de SLA de inicializacao (Enterprise). | |
| deadline_justification | No | Justificativa de SLA de deadline (Enterprise). |
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 warns that the action 'altera producao' (changes production), clarifies that it does not automatically trigger emails, and explains that time_work logs worked minutes. This is useful side-effect and safety information, though it does not cover reversibility or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded. The warning comes first, followed by the core action and then two key behavioral details. Every sentence adds distinct information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no annotations or output schema, the description covers the essential points: the action, the production impact, the email side effect, and the time_work behavior. It omits response details and reversibility, but the full parameter schema coverage means an agent has enough to select and invoke 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 100%, so the schema already documents all parameters. The description adds minimal param-specific value by clarifying that time_work logs worked minutes, but this is a small increment 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 states a specific action and resource: 'Finaliza o chamado' (finishes the ticket). This clearly separates it from list/get/reply/comment/evaluate tools, though it does not explicitly contrast it with the similar-sounding close_status tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, and no mention of prerequisites or exclusions. The usage context is only implied by the verb 'finaliza'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_get_chatA
Consulta um chat individualmente. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| chat_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly states 'Nao altera dados' (does not alter data), which is a meaningful read-only guarantee for the agent. It does not describe return values or error behavior, but for a simple fetch operation this is a solid transparency disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short, purposeful sentences: the main action comes first, followed by a useful safety qualifier. Every word earns its place, and there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the description covers the core purpose and non-mutating behavior, but with no output schema, the agent gets no information about the return shape or failure behavior. The lack of any usage guidance also leaves some context incomplete, though the simplicity of the tool mitigates the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, chat_id, with no description, and schema description coverage is 0%. The description does not mention chat_id at all, nor explain how to obtain or use it. The parameter name is self-explanatory, but the description adds no semantic value beyond what the schema already exposes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Consulta' (query/get), and a specific resource, 'um chat' (a chat), and the word 'individualmente' signals single-record retrieval, which distinguishes it from sibling tools like tomticket_list_chats. This gives an agent a clear picture of what the tool does and how it differs from list operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 should be used when a single chat needs to be retrieved, but it does not explicitly state when to use it versus alternatives such as tomticket_list_chats or tomticket_get_ticket. No when-not-to-use guidance or prerequisites are provided, leaving the usage context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_get_customerB
Consulta os detalhes de um cliente. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. The phrase 'Nao altera dados' clearly states the operation is read-only, which is valuable. However, it does not mention other behaviors such as error conditions, authorization needs, or response characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two short sentences with no redundant wording. The main action is front-loaded and the read-only clarification is concise and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 lookup tool with only two parameters and no output schema, the description is reasonably complete. It identifies the action, resource, and non-mutating nature. It could be slightly improved by explicitly noting that the result is a single customer's details and by clarifying the email-versus-id identifier behavior, though the schema already covers the latter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters and their meanings. The description adds no additional parameter semantics beyond what the schema provides, which is acceptable at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Consulta os detalhes de um cliente' (query the details of a customer). It is specific enough to identify the tool's core function, though it does not explicitly distinguish it from sibling customer-related tools like tomticket_list_customers or tomticket_get_customer_permissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when a single customer's details are needed, but there is no mention of exclusions or sibling alternatives, especially important given the large number of customer-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_get_customer_hour_contractA
Consulta horas contratadas vs usadas no mes corrente. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states 'Nao altera dados' (does not alter data), which is a key behavioral trait for a read-only query, and it scopes behavior to the current month. It does not mention authentication, rate limits, or errors, but for this simple query the critical safety property is 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?
The description is two short, front-loaded sentences with no filler. It states the main action/resource first, then communicates the read-only safety property. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, parameters are fully documented in the schema, and the description conveys the core result (contracted vs used hours in the current month). No output schema exists, so the description does not need to detail return fields, but it could have added a bit more context about permissions or response 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?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds no additional parameter-specific semantics beyond the general purpose of the tool, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Consulta') and a specific resource ('horas contratadas vs usadas no mes corrente'), clearly stating what the tool does. The tool name and description are unique among siblings, and the read-only nature is included in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied by the description: use it to query contracted vs used hours in the current month. However, there is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives, though no sibling directly overlaps with this function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_get_customer_permissionsB
Consulta permissoes basicas do cliente. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. 'Nao altera dados' explicitly reassures the agent that this is a non-mutating operation, which is valuable. However, it does not describe the response format, error behavior, or any access requirements, so behavioral coverage is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The main purpose is front-loaded, and the second sentence adds a useful safety guarantee without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the agent has no way to know what 'permissoes basicas' includes or what the response looks like. The description also fails to clarify usage boundaries or error conditions, leaving the tool under-specified for reliable invocation despite the rich sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already documented with clear descriptions and an enum for customer_type_id. The tool description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Consulta permissoes basicas do cliente') and resource (basic customer permissions), so an agent can tell it is a read operation for permissions. It is clear, though it does not explicitly differentiate itself from related sibling tools like tomticket_set_customer_access or tomticket_get_customer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, such as when to use set_customer_access to modify permissions or get_customer for general customer data. The read-only sentence offers a hint about safety, but there is no explicit usage 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.
tomticket_get_ticketA
Consulta o detalhe completo de um chamado, incluindo respostas e horarios. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| show_tags | No | Padrao 1. | |
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| show_stopwatch | No | Padrao 1. | |
| show_staggered_tickets | 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 behavioral burden. It discloses a key safety characteristic ('Nao altera dados'), clarifying that this is a read-only operation. However, it does not mention other behavioral aspects like response format, pagination, or required permissions, which would be valuable given no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The core action ('Consulta o detalhe completo') is front-loaded, and the read-only guarantee is included efficiently. The description is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple ticket-detail fetcher with no output schema, the description adequately conveys that the result includes responses and schedules. The missing piece is explicit guidance on when to choose this over sibling tools, but the core operational context is present. The 75% schema coverage covers most parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents ticket_id, show_tags, and show_stopwatch. The description adds no parameter-level meaning beyond the schema. The show_staggered_tickets parameter remains undocumented, but the description does not compensate for that 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 states a specific verb ('Consulta'), a specific resource ('detalhe completo de um chamado'), and scope ('incluindo respostas e horarios'). It clearly distinguishes this from sibling list tools like tomticket_list_tickets by emphasizing the full detail of a single ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when complete ticket details, including responses and schedules, are needed. However, it does not explicitly name alternatives or conditions for when not to use this tool, such as preferring tomticket_list_tickets for a summary view or tomticket_reply_ticket for a different action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_link_customer_departmentB
ATENCAO: altera producao. Vincula um departamento ao cliente.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| department_id | Yes | Identificador do departamento (enviado como configuration). | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does contribute one meaningful behavioral signal: the front-loaded warning 'ATENCAO: altera producao' (ATTENTION: alters production), which tells the agent this is a production-mutating call and should be treated with care. However, it is generic — it does not say what the alteration entails, whether existing associations are replaced, whether the operation is reversible via unlink, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and properly front-loads the production warning before the action statement. However, the main clause merely restates the tool name in Portuguese, and the brevity comes at the expense of usage and behavioral detail that would have fit naturally in the same space. It is short, but under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple flat 3-parameter tool with fully documented params and no output schema, this is minimally adequate: an agent knows the action and the required inputs. But it is incomplete in important ways — the meaning of 'enviado como configuration' for department_id is unclear, there is no statement about whether the link replaces existing associations or how success/failure is returned, and the mutation behavior beyond the generic warning is unexplored.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds nothing about parameters beyond the schema, which already documents customer_id (internal ID or email), department_id (department identifier sent as configuration), and customer_type_id (I vs E, default I). The description neither compensates for gaps nor introduces contradictions, so the baseline 3 stands.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a specific verb and resource: 'Vincula um departamento ao cliente' (links a department to the customer). The action is unambiguous and the link verb inherently separates it from the sibling tomticket_unlink_customer_department. However, the core clause is essentially a translation of the tool name, adding little new semantic information, and it does not explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the counterpart unlink tool (tomticket_unlink_customer_department), does not state when linking is appropriate, and provides no exclusions, prerequisites, or context such as needing a department from tomticket_list_departments first. Usage is only implied by the action phrase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_article_categoriesA
Lista categorias de artigos. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly discloses that the operation does not alter data, which is a meaningful behavioral trait. It does not mention return shape or pagination, but for a zero-parameter read-only list tool this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the core purpose and then add the essential side-effect disclosure. Every word earns its place; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter, read-only list operation, the description covers the required purpose and safety. It omits details about the returned category structure, but the low complexity and the clear tool name make this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters and the input schema is an empty object, so there are no parameter semantics to document. The baseline of 4 for no-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lista') and resource ('categorias de artigos'), so the tool's purpose is clear. It does not explicitly differentiate from siblings like tomticket_list_department_categories, but the resource noun is specific enough for basic identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and 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 tomticket_list_articles or tomticket_list_department_categories. The note 'Nao altera dados' is a safety disclaimer, not a usage condition or selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_articlesC
Lista artigos da base de conhecimento. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| category_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the useful behavioral trait 'Nao altera dados' (does not alter data), which is meaningful because no annotations are present. However, it does not disclose pagination behavior, return format, whether the list is ordered, or any access requirements, leaving room for interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two short sentences with no filler or repeated information. It front-loads the core purpose and includes the key safety note, making it efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and two undocumented optional parameters, the description should carry more weight. It omits return value expectations, pagination behavior, and any mention of category filtering semantics, so the description is not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the parameters page or category_id at all. The description therefore adds no meaning beyond the bare parameter names and types already shown in the schema, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists knowledge base articles and explicitly notes it does not alter data, giving a specific verb and resource. However, it does not differentiate this from the sibling tomticket_search_articles or tomticket_read_article, which could be confused for similar article retrieval operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool versus searching for articles, reading a single article, or listing categories. The only usage hint is implicit in the verb 'list' and the safety note, so the agent must infer when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_chatsB
Lista atendimentos de chat (50 por pagina). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| customer_id | No | ||
| max_protocol | No | ||
| min_protocol | No | ||
| department_id | No | ||
| organization_id | No | ||
| creation_date_ge | No | ||
| creation_date_le | No | ||
| customer_type_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 behavioral disclosure burden. It explicitly states that the operation does not alter data and discloses the 50-per-page pagination behavior. It does not describe response format or filtering effects, but the safety profile is clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: two short phrases that deliver the core action, resource scope, pagination size, and read-only nature. There is no filler or redundant repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters, no annotations, no output schema, and zero schema-level descriptions, the description is insufficient. It tells the agent what the tool is for but gives no guidance on constructing a correct call or interpreting results, so an agent cannot reliably use the advanced filters.
Complex tools with many parameters or behaviors need more documentation. 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 names none of the 9 parameters or their semantic meaning. An agent receives only property names and types from the schema, with no help from the description about how filters like min_protocol, creation_date_ge, or customer_type_id should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and a specific resource ('atendimentos de chat'), which clearly identifies this as a chat-record listing tool. It also adds the 50-per-page detail and the read-only note, making it distinct from sibling tools like get_chat, list_tickets, and list_open_tickets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 gives no explicit guidance on when to use this tool instead of alternatives such as tomticket_list_tickets or tomticket_list_open_tickets. There are no stated conditions, exclusions, or prerequisites, so the agent is left to infer usage from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_customer_custom_fieldsA
Lista campos personalizados de cadastro de cliente. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burde. It does disclose the important non-mutating trait via 'Nao altera dados', which is genuinely useful. However, it does not mention permissions, pagination, limits, or what exactly is returned, though these are less critical for a parameterless list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences in Portuguese: the first states exactly what the tool lists, and the second adds the safety-relevant note that data is not changed. Every word earns its place and no redundant detail is 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?
For a low-omplexity, parameterless list tool with no output schema, the description is largely complete: it gives purpose and the read-only safety trait. A brief note about the shape of the returned custom fields or when to prefer this over ticket/organization/department field lists would make it fully complete, but the current text is sufficient for basic 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 tool has zero parameters and the schema has no properties, so there are no parameter semantics to clarify. The description correctly focuses on scope instead, earning the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Lista') and resource ('campos personalizados de cadastro de cliente'), making it obvious which list is returned. The mention of 'cliente' distinguishes it from sibling tools like tomticket_list_ticket_custom_fields and tomticket_list_organization_custom_fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 explicit guidance about when to use this tool versus the many sibling listing tools, nor any exclusions or alternatives. The scope is implied by 'de cadastro de cliente', but an agent is not told how to route between customer fields, ticket fields, organization fields, or department fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_customer_portfoliosA
Lista carteiras de clientes (Enterprise). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden, and it explicitly states 'Nao altera dados' (does not alter data), which is a valuable disclosure of a side-effect-free read. It omits details like return format or pagination, but for a parameterless list operation the no-mutation trait is the most important behavior to disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short clauses with the action front-loaded ('Lista carteiras de clientes') followed by a one-clause safety note. Every word earns its place; there is no duplicate or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool the description is close to adequate, but with no output schema or annotations it does not describe the return shape, clarify what a customer portfolio consists of, or differentiate this from tomticket_list_customers. An agent can attempt the call confidently, but may not know exactly what result to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is no parameter ambiguity for the description to resolve. Per the 0-parameter baseline, no additional parameter documentation is needed, and the description adds no unnecessary parameter commentary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a clear action and resource in Portuguese: 'Lista carteiras de clientes' (lists customer portfolios) and adds the Enterprise qualifier, so it is not merely a restatement of the tool name. It does not explicitly distinguish customer portfolios from the similar sibling tomticket_list_customers, which prevents a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is only implied: use this when a list of customer portfolios is needed; the read-only note also suggests safe use. There is no explicit when/when-not guidance, no alternative routing among the many sibling list/customer/portfolio commands, and no mention that the Enterprise qualifier may impose access requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_customersC
Lista clientes da conta (50 por pagina). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| order | No | ||
| column | No | ||
| organization_id | No | ||
| show_custom_fields | No | ||
| search_by_organization_mother | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does disclose a key behavioral trait: 'Nao altera dados' (does not alter data), and notes the 50-per-page pagination. However, it does not mention authentication needs, rate limits, default sorting, or what happens when pages exceed available results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short clauses that each add value. 'Lista clientes da conta' states the purpose, '(50 por pagina)' gives pagination, and 'Nao altera dados' provides a safety signal. There is no filler 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 six optional parameters, no output schema, and no annotations, this description is too thin to be complete. It covers the basic list behavior and page size, but lacks return value details, pagination semantics, and any guidance on how the optional filters affect behavior. It is minimally usable but leaves many important decisions to inference.
Complex tools with many parameters or behaviors need more documentation. 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 six parameters with 0% description coverage, so the description must compensate by explaining parameter meaning, but it explains none. It makes no mention of page, order, column, organization_id, show_custom_fields, or search_by_organization_mother. An agent must rely entirely on the schema names and enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a clear verb ('Lista') and a specific resource ('clientes da conta'), and adds the useful detail that results are paginated at 50 per page. It does not explicitly contrast itself with sibling tools like get_customer or list_customer_portfolios, but the verb-resource pair is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives. It states what the tool does, but not when it should be used versus get_customer, customer_exists, or the many other list_* tools. There is no mention of exclusions, prerequisites, or fallback tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_custom_fieldsA
Lista todos os campos personalizados da conta. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It explicitly states 'Nao altera dados' (does not alter data), which signals a read-only operation, and 'Lista todos' indicates the full scope of results. This is meaningful safety and scope context, though it does not address pagination or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the first states the action and scope, the second states the non-destructive nature. Every word earns its place and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema list tool, the description is largely sufficient: it names the resource, scope, and read-only behavior. It could mention whether the response is paged or the exact return format, but these are minor gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters (100% coverage trivially). With no parameters to document, the baseline is 4; the description appropriately confirms the tool takes no filters and lists everything for the account.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+tresource: 'Lista todos os campos personalizados da conta' (lists all custom fields of the account). The 'da conta' scope clearly distinguishes this from the sibling tools that list entity-specific custom fields (ticket, customer, organization, department).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: if you need all account-level custom fields, use this tool. It implicitly contrasts with the sibling tools that target specific entity custom fields, but it does not explicitly state when_not to use it or name alternatives, so guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_department_categoriesB
Lista categorias de um departamento. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| department_id | Yes | Identificador do departamento. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states 'Nao altera dados' (does not alter data), which is a useful safety guarantee for a listing operation. However, it does not mention other behavioral aspects like return format, pagination, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no redundant wording. The core action is stated first, and the non-destructive guarantee is added in a compact second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 listing tool, the description is adequate but not rich. It clarifies the action and safety, but does not describe the output shape or provide usage context relative to similar tools. Given the lack of an output schema and annotations, slightly more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents department_id with 100% coverage, so the description does not need to repeat parameter details. The description adds no additional semantic context about the parameter, but the schema is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a specific verb and resource: 'Lista categorias de um departamento' (lists categories of a department). It clearly identifies the operation and target, and the tool name aligns with that. It does not explicitly contrast with siblings like tomticket_list_article_categories, but the department scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool over alternatives such as tomticket_list_departments or tomticket_list_department_statuses. The intended use is implied by the name and the one-line description, but no contextual cues or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_department_custom_fieldsA
Lista campos personalizados de chamados externos por departamento e categoria. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No | ||
| department_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavior disclosure burden. It explicitly states 'Nao altera dados' (does not alter data), making the read-only nature clear. It does not mention return shape or pagination, but for a simple list endpoint the no-side-effects guarantee is the most important 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 one compact sentence that front-loads the action and scope, then adds the side-effect note. Every word carries useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and no output schema, the description covers purpose, scope, and non-mutation. It does not explain filter behavior when parameters are omitted, but the low complexity and the schema's optionality make the description reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to compensate. It maps the two parameters to department and category, which aligns with department_id and category_id, but it does not clarify whether they are optional, how they combine, or what happens when omitted. The schema shows both are optional, so the description adds only minimal meaning beyond the property 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 uses a specific verb ('Lista') and a specific resource ('campos personalizados de chamados externos por departamento e categoria'), adding scope beyond the tool name. This helps distinguish it from sibling listing tools such as list_ticket_custom_fields and list_department_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 provides no guidance on when to use this tool versus the many sibling list/custom-field tools, and it does not name alternatives or exclusions. The intended use is only weakly implied by the scoping language, not stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_department_operatorsA
Lista atendentes de um departamento. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| department_id | Yes | Identificador do departamento. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. 'Nao altera dados' explicitly communicates that this is a non-mutating, read-only operation, which is the key behavioral trait for this endpoint. It does not cover auth, errors, or response shape, but those are less critical for a simple listing 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 two short sentences with no filler. The action is front-loaded and the safety note is concise and meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 read-only listing tool, the definition is largely complete: resource, non-mutation, and required parameter are clear. It falls slightly short on return-value shape and precondition/error details, but this is a minor gap given the low complexity and descriptive schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the only parameter, department_id, is already described as 'Identificador do departamento.' The description adds no additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it lists operators/attendants of a department. The explicit 'Nao altera dados' confirms a read-only action, and the tool is clearly distinguishable from sibling list tools like tomticket_list_department_categories or tomticket_list_department_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?
The use case is implied by saying it lists department operators, but there is no explicit when-to-use / when-not-to-use guidance or mention of relevant alternatives. An agent must infer the appropriate context from the tool name and the single action described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_departmentsA
Lista departamentos da conta, com categorias, status e atendentes. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| show_nested_items | No | 0 so id/nome; 1 inclui categorias, status e atendentes. Padrao 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It explicitly states 'Nao altera dados' (does not change data), clearly indicating a read-only operation. This is an important safety trait. It does not discuss pagination, response size, or permissions, but for a simple listing tool the key behavioral disclosure is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence. It front-loads the primary action and resource, then compactly conveys included nested data and the read-only nature. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional, fully documented parameter and no output schema, the description is largely sufficient: it states what is returned and confirms non-mutation. The only notable gap is the lack of explicit direction about when to use sibling subresource-list tools instead, but this is minor for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage: show_nested_items is documented with values 0 and 1, and the default is stated. The tool description adds no parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb and resource: 'Lista departamentos da conta' (lists account departments), and it says what is included (categories, status, atendentes). It is clear about the tool's scope, but it does not explicitly distinguish itself from sibling tools like tomticket_list_department_categories, tomticket_list_department_operators, or tomticket_list_department_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?
Usage context is implied: use this tool to list departments with their nested categories, statuses, and operators. However, the description provides no explicit 'when not to use' guidance or direct references to alternative sibling tools, leaving the agent to infer the distinction from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_department_statusesA
Lista status de um departamento (necessario para iniciar cronometro). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| department_id | Yes | Identificador do departamento. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explicitly states 'Nao altera dados' (does not alter data), which is a useful safety signal. However, it does not mention authentication, permissions, side effects, or any other behavioral traits beyond read-only intent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded: it states what the tool does, why it is used, and that it is non-destructive. Every clause earns its place, with no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with no output schema, the description is nearly complete: it covers purpose, usage context, and safety. It could go further by describing what the returned statuses look like, but that is not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, department_id, is described in the schema as 'Identificador do departamento.' The tool description reiterates the department concept but adds no deeper semantic detail, so it meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lista status de um departamento') and a specific resource (department statuses), distinguishing it from sibling list tools like list_departments or list_department_categories. The phrase 'necessario para iniciar cronometro' adds concrete context about why this tool exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: this tool is needed before starting a timer. It does not explicitly name alternatives or exclusions, but the department-status scope is distinct enough among siblings that an agent can infer when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_open_ticketsA
Lista chamados ABERTOS da conta TomTicket (exclui cancelados e finalizados). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagina. Ate 50 itens por pagina. Padrao: 1. | |
| priority | No | Prioridades separadas por virgula: 1 baixa, 2 normal, 3 alta, 4 urgente. | |
| show_tags | No | 1 para incluir tags. | |
| operator_id | No | Filtrar por atendente. Vazio localiza sem atendente. | |
| department_id | No | Filtrar por departamento. | |
| show_stopwatch | No | 1 para incluir horarios cronometrados. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem annotations, a descrição assume o peso e declara explicitamente que a operação não altera dados, o que indica segurança/efeito somente leitura. Também revela o filtro comportamental de excluir cancelados e finalizados, embora não detalhe paginação ou formato de retorno.
Agents need to know what a tool does to the 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 descrição é curta, direta e sem redundância. A primeira frase entrega o propósito e o escopo; a segunda comunica a segurança da operação. Cada frase contribui com informação útil.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para um endpoint de listagem somente leitura, sem parâmetros obrigatórios e com schema cobrindo todos os campos, a descrição é suficiente para o agente invocar corretamente. Faltam detalhes sobre o formato da resposta e orientação em relação aos siblings, mas esses não impedem o uso básico.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A cobertura do schema é de 100%, com descrição detalhada para todos os 6 parâmetros, incluindo limites e formatos. A descrição da ferramenta não acrescenta semântica adicional aos parâmetros, então o baseline 3 é adequado.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição afirma claramente o verbo e o recurso: listar chamados abertos da conta TomTicket e informa exclusões explícitas (cancelados e finalizados). Não menciona diretamente o sibling tomticket_list_tickets para diferenciar, mas o escopo de status já é específico o suficiente.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Não há orientação sobre quando usar esta ferramenta em vez de tomticket_list_tickets, tomticket_get_ticket ou outras listagens. O contexto de uso fica apenas implícito no próprio nome e descrição.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_organization_custom_fieldsA
Lista campos personalizados de cadastro de organizacao. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It explicitly states 'Nao altera dados' (does not alter data), which is a meaningful non-mutation guarantee beyond the schema. It omits return shape details, but for a zero-parameter list operation the core behavioral trait is 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?
Two short, purposeful sentences: the first states the action and resource, and the second adds a clear non-mutation clarification. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description adequately conveys what is listed and that it is safe to call. It lacks explicit return-format detail, but 'Lista campos personalizados' strongly implies a list result, and the sibling names provide additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties and schema description coverage is 100%, so there are no parameters needing explanation. The baseline for zero parameters is 4, and the description adds useful domain context about organization registration custom fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and a specific resource ('campos personalizados de cadastro de organizacao'), making its purpose clear. It is distinct from generic custom-field listings and from organization management 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?
The description implies when to use it: when organization custom fields are needed. It also states 'Nao altera dados', signalling safe read-only invocation. However, it does not mention alternatives like the generic list_custom_fields or other scoped custom-field tools, so routing guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_organizationsA
Lista organizacoes da conta (50 por pagina). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| order | No | ||
| column | No | ||
| show_custom_fields | No | ||
| organization_mother_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 behavioral disclosure burden. It explicitly states 'Nao altera dados' (does not alter data), which establishes this as a read-only operation, and mentions the 50-per-page behavior. However, it does not disclose return formatting, whether results are ordered by default, or any rate-limit implications. Still, the key safety profile is addressed.
Agents need to know what a tool does to the world before calling 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, well-structured sentence that front-loads the core purpose, then supplies the pagination detail and the non-destructive guarantee. Every word earns its place; there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five optional parameters, zero schema descriptions, no annotations, and no output schema, this description is too thin to be fully complete. It covers the operation's read-only nature and page size but leaves parameter semantics, filtering/sorting behavior, and expected response structure entirely undocumented. The agent could list organizations, but correct use of the advanced parameters remains speculative.
Complex tools with many parameters or behaviors need more documentation. 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 for the blind spots in the input schema. It only mentions the 50-per-page default, which is not one of the five parameters. It provides no guidance on 'page', 'order', 'column', 'show_custom_fields', or 'organization_mother_id'. An agent would have to infer semantics purely from parameter names, which is unreliable especially for 'show_custom_fields' and 'organization_mother_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lista'), a clear resource ('organizacoes da conta' / organizations of the account), and adds the pagination detail of 50 per page. It also explicitly distinguishes itself from mutating operations by saying it does not alter data. This is sufficiently specific to separate it from sibling list tools like tomticket_list_customers or tomticket_list_departments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 makes clear when to use the tool: any time an agent needs to list organizations from the account, with a 50-per-page constraint that hints at pagination. It does not explicitly mention alternatives or exclusions, but among the siblings there is no other organization-listing variance requiring disambiguation, so the context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_ticket_custom_fieldsA
Lista campos personalizados usados em chamados. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description usefully adds the behavioral guarantee 'Nao altera dados', making the read-only nature explicit rather than inferred from 'Lista'. It doesn't detail the return structure or permissions, but for a zero-parameter list tool the key non-mutating trait is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The first sentence states purpose and scope; the second states the read-only behavior. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial zero-parameter read-only listing operation, the description provides the essential purpose and safety information. It could add an explicit pointer to sibling custom-field tools or mention what is returned, but nothing is required for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no properties, so there are no parameter semantics to clarify; this is the baseline 4 for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the operation: 'Lista campos personalizados usados em chamados' — a specific verb (list) and a specific resource (custom fields used in tickets). The 'ticket' scope differentiates it from sibling tools like tomticket_list_customer_custom_fields and tomticket_list_organization_custom_fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 intended context is implied by 'usados em chamados', so an agent can tell this is for ticket-related custom fields. However, there is no explicit when-to-use guidance, exclusion, or named alternative among the many custom-field listers in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_list_ticketsB
Lista chamados da conta com filtros da API (paginado, 50 por pagina). Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagina. Ate 50 itens por pagina. Padrao: 1. | |
| order | No | ||
| column | No | Campo de ordenacao. Padrao: protocol. | |
| priority | No | ||
| show_tags | No | ||
| situation | No | Situacoes separadas por virgula. 0 aguardando atendente; 1 nao iniciada; 2 aguardando cliente; 3 respondido pelo cliente; 4 cancelada; 5 finalizada; 6 atendente modificado; 7 apoio; 8-11 aprovacoes. | |
| status_id | No | ||
| category_id | No | ||
| customer_id | No | ||
| operator_id | No | ||
| max_protocol | No | ||
| min_protocol | No | ||
| department_id | No | ||
| truncate_body | No | ||
| last_update_ge | No | Ultima modificacao >=. Periodo maximo 90 dias. | |
| show_stopwatch | No | ||
| organization_id | No | ||
| creation_date_ge | No | Criacao >= YYYY-MM-DD HH:II:SS-TZ ou data dinamica. | |
| creation_date_le | No | ||
| customer_type_id | No | I = id interno, E = email. Padrao I. | |
| last_situation_ge | No | ||
| last_situation_le | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It usefully states the operation is read-only ('Não altera dados') and paginated at 50 per page, but does not disclose return format, default ordering, 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?
Two short sentences, each earning its place. The main action and pagination are front-loaded, followed by a clear safety guarantee. No redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 22 parameters, no output schema, no annotations, and low schema description coverage, this description is insufficiently complete. It omits return value structure, parameter semantics, pagination navigation, and ordering defaults, which an agent would need to invoke the tool correctly for varied use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% and the description does not compensate by explaining any of the 22 parameters. The generic 'filtros da API' adds no detail about how to use filters like situation, creation_date_ge, or customer_type_id, leaving the agent without adequate guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Lista chamados da conta'), scope ('da conta'), and key characteristics ('com filtros da API', 'paginado, 50 por pagina'). It distinguishes from get_ticket and list_open_tickets by naming and scope, but does not explicitly compare to 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 guidance is given on when to use this tool versus list_open_tickets, get_ticket, or other listing tools. It does not state exclusions, prerequisites, or conditions under which another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_read_articleB
Le o conteudo de um artigo da base de conhecimento. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does add the key safety statement 'Nao altera dados' (does not alter data), which signals a non-mutating read operation. However, it does not mention potential errors, authorization requirements, or what happens if the article_id is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences that state the primary action and the safety characteristic. Every word earns its place, and the main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with one parameter and no output schema, the description provides the core action and read-only guarantee. However, it lacks contextual guidance such as using list/search tools to first obtain an article_id, and it does not describe the expected return content beyond the word 'conteudo'.
Complex tools with many parameters or behaviors need more documentation. 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 article_id parameter beyond the general mention of 'um artigo'. The parameter name and schema provide minimal clarity, but the description adds no guidance on how to identify or obtain the article_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Le o conteudo de um artigo da base de conhecimento' (reads the content of a knowledge base article). It is clear enough to distinguish from sibling list/search tools by focusing on single-article content retrieval, though it does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 instead of tomticket_list_articles or tomticket_search_articles. The description implies use when you need an article's content, but it does not state how to obtain the article_id or when a sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_remove_custom_field_optionB
ATENCAO: altera producao. Remove opcao de campo personalizado.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | ||
| option_id | No | ||
| custom_field_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes a meaningful warning, 'ATENCAO: altera producao' (attention: changes production), which is useful behavioral context beyond the raw operation. However, with no annotations provided, it does not disclose cascading effects, reversibility, permissions, or what happens to existing data using the option.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences, and the production warning is front-loaded. Every word earns its place; no filler or redundancy exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 annotations, no output schema, and zero parameter descriptions, the description is too thin to be fully actionable. It identifies the action but does not clarify how the parameters work together, which field identifies the option, or what the result of the operation is.
Complex tools with many parameters or behaviors need more documentation. 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 of the three parameters. The operation name implies that custom_field_id and option_id are relevant, but the purpose of 'value' and the required/optional relationships are left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Remove opcao de campo personalizado' (remove custom field option). It identifies the specific resource and operation, and is distinct from the sibling add_custom_field_option, though it does not explicitly name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 gives no guidance on when to use this tool versus alternatives such as tomticket_add_custom_field_option or the listing tools. The production-change warning implies caution but does not state conditions, prerequisites, or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_reply_ticketA
ATENCAO: altera producao. Responde o chamado como atendente. Exige atendente vinculado. Use start_date e end_date juntos para lancar horario de trabalho.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Texto da resposta (text/plain). | |
| end_date | No | Fim do trabalho no mesmo formato. Obrigatorio se start_date for enviado. | |
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| start_date | No | Inicio do trabalho: YYYY-MM-DD HH:II:SSZ. Ex.: 2026-08-21 14:00:00-0300. | |
| attachments | No | Caminhos locais de anexos, separados por virgula. Maximo 25 arquivos / 25 MB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job: it explicitly warns 'ATENCAO: altera producao' and states the prerequisite of a linked attendant. It also clarifies the work-time behavior of the date fields, going beyond a generic mutation description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the warning comes first, followed by the core action, a prerequisite, and a usage rule. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers the essential operational context: production impact, role, prerequisite, and date coupling. The 100% schema coverage handles parameter formats, though the description does not detail the response or full side-effect set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining that start_date and end_date are used together to launch work time, and schema already provides formats and the end_date requirement. This is a useful semantic addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Responde o chamado como atendente', identifying both the action and the agent role. This distinguishes it from the sibling tomticket_reply_ticket_as_customer, so an agent can tell them apart without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives practical conditions: the tool alters production, requires a linked attendant, and start_date/end_date must be used together. It does not explicitly name alternatives or exclusions, but the atendente role and warning provide enough direction for correct use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_reply_ticket_as_customerA
ATENCAO: altera producao. Responde o chamado como cliente. Nao dispara email automaticamente.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| attachments | No | Caminhos locais de anexos, separados por virgula. Maximo 25 arquivos / 25 MB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it does real work: 'ATENCAO: altera producao' flags a production mutation, and 'Nao dispara email automaticamente' corrects the likely wrong assumption that replying triggers an email. It does not mention permissions or reversibility, but the two disclosed behaviors are precisely the ones most likely to cause harm if ignored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, each carrying distinct information: production warning, purpose, and the no-email behavior. The warning is front-loaded so the risk is seen before the action, and no sentence is redundant with the schema or the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers the two most critical operational facts but omits others an agent would want: expected return value, permission requirements, and whether the reply alters ticket state. It is adequate for safe invocation, but not fully complete given the lack of structured annotations to backfill those details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% — ticket_id and attachments are already documented in the schema, leaving only message undocumented. The description adds no direct parameter details, though its 'como cliente' framing implicitly tells the agent that message content should be written from the customer's perspective. With schema coverage above 50%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Responde o chamado' (replies to the ticket) — and adds the critical modality 'como cliente' (as the customer), which is exactly what separates this from sibling tomticket_reply_ticket. An agent can distinguish this tool from the other reply/comment tools without opening either schema, because the customer-perspective constraint is 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?
The phrase 'como cliente' conveys the core selection context: use this when the reply must be issued from the customer's side, versus tomticket_reply_ticket (operator side) or tomticket_comment_ticket (internal comment). The 'Nao dispara email automaticamente' note also informs the decision if the actual goal is to email the customer. However, there is no explicit when-not-to-use statement or direct naming of alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_search_articlesC
Pesquisa artigos da base de conhecimento. Nao altera dados.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | Yes | Texto da pesquisa. | |
| category_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 does state 'Nao altera dados' (does not alter data), which is a useful side-effect guarantee, but it does not describe what the search returns, how matching works, pagination behavior, or any limits. For a tool with no output schema, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The core purpose is front-loaded, and the read-only note is a valuable, economical addition. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description is too thin. It lacks return format information, pagination behavior, guidance on category_id usage, and any distinction from sibling list tools. An agent could call it with just 'query', but would not know how to use the optional parameters effectively or interpret the results.
Complex tools with many parameters or behaviors need more documentation. 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 only 33%: only 'query' has a description. The tool description adds no parameter-level meaning at all and does not explain 'page' or 'category_id'. Since the schema also leaves these undocumented, an agent has to guess their 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 states a specific verb ('Pesquisa' = searches) and a clear resource ('artigos da base de conhecimento' = knowledge base articles). It clearly conveys the tool's function, though it does not explicitly differentiate it from the sibling tomticket_list_articles, which is a similar read-only listing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as tomticket_list_articles or tomticket_read_article. There is no mention of when a search is preferable to a list, or what distinguishes a search from browsing all articles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_set_customer_accessB
ATENCAO: altera producao. Ativa ou desativa o acesso do cliente ao painel e chamados por email.
| Name | Required | Description | Default |
|---|---|---|---|
| active | Yes | 1 ativo, 0 inativo. | |
| customer_id | Yes | Id interno ou email do cliente. | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
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 does disclose that the tool mutates production and toggles customer access to the panel and email tickets, which is useful. However, it does not mention side effects, reversibility, permission requirements, or the outcome of changing the 'active' flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a prominent production-change warning followed by a single clear sentence stating the action. Every word earns its place, and the warning 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?
The tool is simple, the schema covers all parameters, and there is no output schema to explain. The description conveys the core behavior and the production-impact warning, but it lacks usage guidance, alternative-tool routing, and any sense of what happens after the call, so it is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description adds no extra parameter-level semantics beyond the schema, which is acceptable given the baseline of 3 when the schema handles the parameter 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?
The description states a clear verb and resource: 'Ativa ou desativa o acesso do cliente ao painel e chamados por email' (enables/disables customer access to the panel and tickets by email). This is specific enough to understand the core function, though it does not explicitly differentiate the tool from related customer-permission siblings like tomticket_set_customer_create_tickets or tomticket_customer_quick_access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The 'ATENCAO: altera producao' warning implies a production-impacting mutation, but no contexts, prerequisites, or exclusions are provided, leaving the agent to infer the appropriate usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_set_customer_create_ticketsB
ATENCAO: altera producao. Define se o cliente pode criar chamados.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| create_tickets | Yes | ||
| customer_type_id | No | I = id interno, E = email. Padrao I. |
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 does disclose the most critical trait — that this is a production-altering mutation ('altera producao') — which is genuinely useful. However, it doesn't disclose side effects on existing tickets, reversibility, authorization requirements, or whether the change is immediate. The disclosure is adequate but shallow for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero wasted words. The production-change warning is front-loaded before the purpose, which is exactly the right ordering for a risky mutation tool. Every token serves a function: risk warning + 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 flag-setter with 3 parameters and no output schema, the description covers the core purpose and the primary risk. However, it leaves gaps: the explicit 0/1 semantics of create_tickets are only implied, the return/confirmation behavior is unspecified, and there are no preconditions mentioned (e.g., customer existence). Adequate but with clear gaps relative to the zero-annotation 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 description adds essential meaning to the create_tickets parameter, which lacks any schema description. 'Define se o cliente pode criar chamados' directly explains what the 0/1 integer represents, compensating for the schema gap on the most important parameter. It doesn't explicitly state the 0=disabled/1=enabled mapping, but the intent is strongly implied. customer_id and customer_type_id are already well documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action — setting whether a customer can create tickets ('Define se o cliente pode criar chamados') — with a clear resource (customer) and capability (create tickets). It is distinct from siblings like tomticket_create_ticket (which creates a ticket) and tomticket_set_customer_access (broader access), though it doesn't explicitly differentiate itself. The verb 'Define' is slightly weak but the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. The 'ATENCAO: altera producao' warning is a caution about production impact, but it does not state preconditions, exclusion criteria, or when to prefer a sibling tool like tomticket_set_customer_access or tomticket_get_customer_permissions. An agent must infer usage context entirely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_start_statusA
ATENCAO: altera producao. Abre um status no chamado (inicia cronometro/status). Consulte status do departamento antes.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| status_id | Yes | ||
| ticket_id | Yes | Identificador do chamado (ticket_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the mutating nature with 'altera producao' and the effect of starting a timer/status. But it does not mention reversibility, side effects if a status is already active, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with the warning front-loaded first. Every sentence earns its place: warning, core function, and prerequisite. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no output schema, the description gives some context (production impact, timer start, department lookup) but leaves significant gaps: failure behavior, handling of existing statuses, return format, and authentication requirements. An agent may struggle to know what happens after calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with ticket_id documented but status_id and comment left to inference. The description does not explain how to format or obtain status_id beyond suggesting department statuses, nor what the comment parameter is for. It does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Abre um status no chamado' (opens a status in the ticket), further clarified by '(inicia cronômetro/status)' (starts timer/status). This clearly distinguishes it from sibling tools like close_status or transfer_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 gives a clear prerequisite: 'Consulte status do departamento antes' (consult department status before), which implies the intended workflow. However, it does not explicitly state when to use this tool versus alternatives, nor any when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_transfer_ticketB
ATENCAO: altera producao. Transfere o chamado entre departamentos e/ou atendentes.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes | Identificador do chamado (ticket_id). | |
| operator_id | No | ||
| department_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does include a production-change warning ('ATENCAO: altera producao'), which is useful context. However, it does not explain side effects, permissions, reversibility, or what happens to existing assignments when transferring.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with only two sentences: a production warning and the core action. Every part earns its place and the main behavior is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low parameter coverage, the description leaves important gaps. An agent does not know how operator_id and department_id interact, whether a transfer can target only one or both, or what a successful transfer returns. The description is adequate for recognizing the tool but not fully complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema_description_coverage is only 33%, so the description must compensate for operator_id and department_id. It partially does by saying the transfer can happen 'entre departamentos e/ou atendentes', which maps those parameters to departments and attendants. But it does not clarify whether one or both are required, whether they are mutually exclusive, or the expected value formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Transfere o chamado' (transfers the ticket) and names the targets 'entre departamentos e/ou atendentes'. This distinguishes it from most siblings like reply, finish, or create, though it does not explicitly contrast itself with tomticket_assign_operator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 about when to use this tool versus alternatives. The description only says what the tool does, not when it should be chosen, when it should not be used, or what prerequisites exist. The intended use is merely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_unlink_customer_departmentA
ATENCAO: altera producao. Desvincula um departamento do cliente.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Id interno ou email do cliente. | |
| department_id | Yes | Identificador do departamento (enviado como configuration). | |
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'ATENCAO: altera producao' explicitly warns that this is a production-mutating operation, which is valuable. However, it does not disclose reversibility, required permissions, side effects, or what happens to existing associations, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one attention warning followed by a clear action statement. It front-loads the production-alteration warning and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The operation is simple and the schema fully covers all parameters, but the description omits return behavior, reversibility, and alternative routing. The production warning partially compensates for the lack of annotations, but the absence of any usage context makes this minimally complete rather than 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 description coverage is 100%, and the schema already documents customer_id, department_id, and customer_type_id with clear meanings. The description adds no parameter-level details, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Desvincula um departamento do cliente' / unlinks a department from the customer) with a clear verb and resource. It is naturally distinguished from the sibling tomticket_link_customer_department, which performs the opposite operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as tomticket_link_customer_department. The warning 'ATENCAO: altera producao' indicates caution but does not explain prerequisites, exclusions, or conditions under which this tool should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_update_articleC
ATENCAO: altera producao. Atualiza um artigo da base de conhecimento.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| content | No | ||
| article_id | Yes | ||
| visibility | No | ||
| category_id | No | ||
| display_order | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It includes the warning 'altera producao' (changes production), which discloses that this is a mutating operation with production impact. However, it does not state permissions required, whether updates are partial or full replacements, reversibility, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with an upfront warning. It is concise and front-loaded with the most critical caveat, though it is written in Portuguese while the tool name and sibling names are English, which may affect readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters and no output schema, the description is severely under-specified. It does not clarify what fields are updatable, whether it is a partial update, what the response is, or any prerequisites. The minimum viable details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description mentions no parameter details. It fails to explain the meaning of article_id, title, content, visibility, category_id, or display_order, so an agent gets no help beyond the raw property 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 identifies the action ('Atualiza' = updates) and the resource ('artigo da base de conhecimento' = knowledge base article). It does not explicitly distinguish from sibling tools like create_article or read_article, but the verb+resource is specific enough to convey the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as tomticket_create_article or tomticket_read_article. The only extra context is a warning about production changes, which is a cautionary note rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_update_customerB
ATENCAO: altera producao. Atualiza dados do cliente. Propriedade vazia e ignorada.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| No | |||
| phone | No | ||
| language | No | ||
| password | No | ||
| customer_id | Yes | Id interno ou email do cliente. | |
| internal_id | No | So quando customer_type_id=E. | |
| portfolio_id | No | ||
| custom_fields | No | Campos personalizados JSON. Ex.: {"ID":"valor"}. | |
| create_tickets | No | ||
| organization_id | No | ||
| customer_type_id | No | I = id interno, E = email. Padrao I. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add behavioral context: 'altera producao' warns of production impact and 'Propriedade vazia e ignorada' clarifies empty-field semantics. However, it omits other important behavioral traits such as irreversibility, permissions, or what happens when conflicting fields are supplied.
Agents need to know what a tool does to the world before calling 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 and front-loaded with the most important warning ('ATENCAO: altera producao') before stating the action. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters, low schema coverage, no annotations, and no output schema, this description is far from complete. It explains one behavioral nuance but does not provide enough context for an agent to confidently invoke the tool with correct parameters or understand response behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description does not compensate for the undocumented parameters. The only parameter-related insight is that empty properties are ignored, which adds some value but leaves many fields (name, email, phone, language, password, portfolio_id, etc.) without meaningful explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 a clear verb and resource: 'Atualiza dados do cliente' (updates customer data). This distinguishes it from sibling list/create/get tools, though it doesn't explicitly contrast it with tomticket_create_customer or other update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It warns that it alters production, which implies caution, but does not state prerequisites, exclusions, or conditions that would route an agent to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tomticket_update_organizationB
ATENCAO: altera producao. Atualiza uma organizacao. Propriedade vazia e ignorada.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| site | No | ||
| No | |||
| phone | No | ||
| portfolio_id | No | ||
| custom_fields | No | Campos personalizados JSON. Ex.: {"ID":"valor"}. | |
| create_tickets | No | ||
| organization_id | Yes | ||
| team_see_all_tickets | No | ||
| monthly_tickets_quota | No | ||
| mother_organization_id | No | ||
| manager_see_all_tickets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does add meaningful facts: 'altera producao' warns that this modifies production data, and 'Propriedade vazia e ignorada' explains partial-update behavior. However, it omits other relevant behavior such as response format, permissions, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the most important caution, followed by the action and the key property-handling rule. Every sentence earns its place with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 12 parameters, no annotations, and no output schema, this description is too sparse. It does not explain expected return values, prerequisites, side effects, or the meaning of several ambiguous parameters, so it is not sufficient for an agent to call 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 description coverage is only 8%, so the description should compensate for the 11 undocumented parameters. It adds a general rule about empty properties being ignored, which is useful, but it does not clarify fields like create_tickets, team_see_all_tickets, or manager_see_all_tickets, leaving significant 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 states a specific verb and resource: 'Atualiza uma organizacao' (updates an organization). This clearly distinguishes the tool from siblings like tomticket_create_organization and tomticket_list_organizations based on the update action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor are prerequisites or exclusions mentioned. The description only states the action and a property-handling rule, leaving the agent to infer usage from the tool name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
49 tool updates
v1.0.0- First observed
tomticket_add_custom_field_option - First observed
tomticket_assign_operator - First observed
tomticket_check_email_blacklist - First observed
tomticket_close_status - First observed
tomticket_comment_ticket - First observed
tomticket_create_article - First observed
tomticket_create_customer - First observed
tomticket_create_organization - First observed
tomticket_create_ticket - First observed
tomticket_customer_exists - First observed
tomticket_customer_quick_access - First observed
tomticket_evaluate_ticket - First observed
tomticket_finish_ticket - First observed
tomticket_get_chat - First observed
tomticket_get_customer - First observed
tomticket_get_customer_hour_contract - First observed
tomticket_get_customer_permissions - First observed
tomticket_get_ticket - First observed
tomticket_link_customer_department - First observed
tomticket_list_article_categories - First observed
tomticket_list_articles - First observed
tomticket_list_chats - First observed
tomticket_list_custom_fields - First observed
tomticket_list_customer_custom_fields - First observed
tomticket_list_customer_portfolios - First observed
tomticket_list_customers - First observed
tomticket_list_department_categories - First observed
tomticket_list_department_custom_fields - First observed
tomticket_list_department_operators - First observed
tomticket_list_department_statuses - First observed
tomticket_list_departments - First observed
tomticket_list_open_tickets - First observed
tomticket_list_organization_custom_fields - First observed
tomticket_list_organizations - First observed
tomticket_list_ticket_custom_fields - First observed
tomticket_list_tickets - First observed
tomticket_read_article - First observed
tomticket_remove_custom_field_option - First observed
tomticket_reply_ticket - First observed
tomticket_reply_ticket_as_customer - First observed
tomticket_search_articles - First observed
tomticket_set_customer_access - First observed
tomticket_set_customer_create_tickets - First observed
tomticket_start_status - First observed
tomticket_transfer_ticket - First observed
tomticket_unlink_customer_department - First observed
tomticket_update_article - First observed
tomticket_update_customer - First observed
tomticket_update_organization
TDQS
Scored across 49 tools
Most tools are clearly distinct, but several families overlap: tomticket_list_departments already includes categories, operators, and statuses, while separate department-list tools exist. Similarly, tomticket_list_custom_fields overlaps with five scoped custom-field listers. The descriptions help, but the boundaries are not always obvious in a 49-tool set.
The tools overwhelmingly follow a clear tomticket_verb_noun snake_case pattern, such as list_tickets, create_customer, and finish_ticket. Minor deviations like tomticket_customer_exists and tomticket_customer_quick_access break the verb-first convention, but the overall naming scheme remains predictable and readable.
49 tools is well above the 25+ threshold and creates unnecessary navigation burden. Many tools could be consolidated with parameters, such as the six custom-field listers and four department listers, making the surface heavier than the domain requires.
Core ticket, customer, and article workflows are well covered, including mutation operations. However, notable gaps exist: there is no general ticket update/delete, no delete for articles/customers/organizations, no article-category management beyond listing, and chat tools are read-only with no reply capability.
Maintenance
Related MCP Connectors
Freshdesk MCP Pack — helpdesk ticket and contact management via Freshdesk API v2.
AI-native helpdesk hosted in Germany: tickets, replies, KPIs and knowledge base over MCP.
Read tickets, contacts, companies, agents and groups; create, update and reply to tickets.
- TimequipOAuthcom.timequip
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
Related MCP Servers
FlicenseNot gradedqualityBmaintenanceConnect to SparrowDesk using MCP and manage your tickets, knowledge base and more.1-- AlicenseBqualityCmaintenanceEnables to interact with Re:lation support tickets via MCP. Allows searching, updating, replying to tickets, and managing customers and internal records.118MIT
- AlicenseAqualityCmaintenanceMCP server for the Ticksy support ticket API, enabling AI agents to read and write support tickets.165MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to analyze IT support tickets, categorize urgency, suggest responses, and retrieve statistics via MCP tools.-