Skip to main content
Glama

TOTVS Protheus

Server Details

TOTVS Protheus ERP for AI: stock, sales, orders, customers and MRP. Read-only, official API.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
mcp-dir/protheus-mcp
GitHub Stars
0

TDQS

B3.1/5.0

Scored across 32 tools

Disambiguation3/5

The many protheus_* tools are mostly distinct by entity, but the platform/admin tools overlap: marketplace bundles list_tools, report_bug, and install capabilities alongside separate report_bug and toolkit_info tools. The catalogo/diagnostico/api trio also requires careful reading, and several 'list or get by id' Protheus tools are easy to confuse at a glance.

Naming Consistency3/5

Domain tools mostly follow a predictable protheus_<entity> pattern, with protheus_list_accounts as a notable outlier and module-qualified names like protheus_compras_mrp and protheus_ordens_producao. The six platform tools break the pattern entirely, mixing bare nouns, imperative verbs, and noun_info names, so the overall naming style is inconsistent.

Tool Count2/5

32 tools is heavy, especially because six are platform-management utilities and marketplace is an oversized multi-action meta-tool. The Protheus entity wrappers are individually reasonable, but the set would be much tighter with fewer admin tools and consolidated or more deliberately scoped Protheus endpoints.

Completeness3/5

Read coverage is broad: dedicated wrappers plus protheus_catalogo, protheus_diagnostico, and protheus_api allow discovery and access to any official read-only REST route. However, every Protheus tool is read-only—there are no create, update, or delete operations—so any mutation workflow dead-ends unless handled through the generic marketplace tool.

Available Tools

32 tools
authenticateA
Idempotent
Inspect

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavior beyond the annotations: config header yields a permanent connection, while passing a token yields a session-only login, and no args returns a link. It does not fully spell out side effects or success/failure return values, but annotations already cover idempotency and non-destructiveness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded, with no fluff, but the long single sentence with parenthetical clauses and multiple alternatives could be structured into clearer separate instructions. Still, every part adds necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter auth tool with no output schema, it covers the no-arg return (the link), the token-paste path, and the persistent-config alternative. It doesn't state the response on a token success/failure, but the invocation guidance is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description carries the full burden for the optional `token` parameter. It explains that token is a JWT/access token pasted by the user and how to pass it, compensating well for the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as MCP.AI authentication for IDE agents, with a concrete browser-login + access-token flow and two invocation paths (no args for a link, token for login). This specific verb+resource is unambiguous and easily distinguished from the unrelated calculo_* sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly differentiates the persistent config-header approach ('best... permanent, non-expiring') from the session-only paste/login path, and states exactly when to call with no args versus with { token }. This gives the agent clear selection criteria for both setup and invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connectA
Read-onlyIdempotent
Inspect

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is read-only, idempotent, and non-destructive. The description adds useful behavioral detail beyond that by specifying the two main response states: authenticated:true with empty pending[] when all providers are connected, and connect_url plus per-install URLs when credentials are missing. This helps an agent predict what to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the core purpose, and then adds only the essential conditional details. Every sentence contributes meaningful information, and there is no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only status tool with no output schema, the description is complete enough. It tells the agent what information will be returned, what the success condition looks like, and what happens when credentials are missing. The low complexity means no additional guidance is required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to explain any input semantics. The baseline of 4 applies because there is no parameter burden at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: returning connection status and URLs. It distinguishes connect from its sibling authenticate by framing it as a status/read operation rather than an action, and the conditional output descriptions reinforce this.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear that this is the tool to call when checking connection state or getting URLs. It does not explicitly mention alternatives like authenticate, but the context strongly implies connect is for status checking rather than initiating authentication, so usage is clear without being fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

marketplaceAInspect

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important behaviors: invoke runs an MCP even when it is not installed, does a one-off run without adding the MCP to the toolkit, returns a connect link when credentials are needed, returns a checkout/top-up link when payment is needed, and requires workspace owner/admin for write operations. The description enriches the annotations and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with identity and the core flow, and nearly every sentence carries useful guidance. However, it is one dense, wall-of-text paragraph with mixed language ("pontualmente") and heavy inline emphasis, which makes the many action alternatives hard to scan and parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 23-parameter, 14-action facade with no output schema, the description is remarkably complete: it covers the core flow, one-off invoke semantics, auth/credential/payment behavior, permission requirements, installed flags, the prompt library, and most action outcomes. The main gaps are the resume action and return-shape details for a few actions, but the overall guidance is sufficient for correct invocation in most cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description does a lot of compensating work: it maps action values such as search, describe, invoke, install, list_tools, publish_prompt, and explains tool_id, arguments, and prompt-related intent. However, several parameters and enum actions remain unexplained, including resume, limit, immediate, tier_slug, cancel_reason, report_context, conversation, request_name, and request_details, leaving agents under-specified for those paths.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as the official mcp.ai marketplace: the in-platform catalog of MCPs/tools and the way to run them. It states the core discovery→describe→invoke flow, distinguishes the prompt-library subdomain from the MCP flow, and makes it clear this is a marketplace orchestrator rather than one of the sibling calculator/authenticate tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: use install only to make an MCP permanent, prefer invoke for one-off use, use list_tools to see what is callable now, use subscribe/cancel for billing, and use request_mcp when nothing fits. It also explains what to do when invoke returns a connect link or checkout link, including retry behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_apiA
Read-onlyIdempotent
Inspect

Faz um GET em qualquer rota REST da instalação Protheus conectada. Use para as APIs oficiais que não têm tool dedicada (descubra a rota com protheus_catalogo) e para os endpoints MVC customizados que a empresa criou. Somente leitura.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
pathYes
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

As annotations já declaram readOnlyHint=true, destructiveHint=false e idempotentHint=true. A descrição adiciona que a operação é GET e somente leitura, reforçando as annotations, mas não oferece contexto comportamental extra, como formato de resposta, paginação ou limitações de uso. Sem contradição, mas sem grande valor adicional além das annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Duas frases curtas, sem repetição do nome da tool e com a informação essencial no início. Cada frase contribui: a primeira define a operação e o alvo; a segunda define quando usar e como descobrir a rota.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A ferramenta é genérica e complexa, com 10 parâmetros sem descrição e sem output schema. A descrição informa o propósito e a rota de descoberta, mas não explica os parâmetros de consulta, formato de resposta ou comportamento de paginação, deixando lacunas significativas para uma invocação correta.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

A cobertura descritiva do schema é 0% e a descrição não explica nenhum dos 10 parâmetros (path, page, order, expand, fields, filter, params, account, page_size, sql_filter). O único indício é 'rota', que se mapeia a path, mas o restante fica totalmente sem semântica para o agente.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

A descrição usa verbo específico (GET), recurso específico (qualquer rota REST do Protheus) e escopo claro, diferenciando-se das tools dedicadas. Menciona explicitamente APIs oficiais sem tool dedicada e endpoints MVC customizados, o que permite distinguir de imediato de protheus_catalogo e demais siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A descrição diz explicitamente quando usar (APIs oficiais sem tool dedicada e endpoints MVC customizados), quando não usar (APIs que já têm tool dedicada) e orienta a descobrir a rota com protheus_catalogo. Isso fornece orientação de seleção clara e acionável.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_centros_custoA
Read-onlyIdempotent
Inspect

Lista os centros de custo da contabilidade, ou consulta um pelo id interno.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the internal-ID lookup mode and batch behavior, but does not explain pagination, parameter interactions, or what 'internal' means relative to external IDs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The core operation and batch capability are front-loaded, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 11 parameters at 0% schema coverage, the description leaves substantial gaps around filtering, pagination, field selection, and return shape. It covers the basic list/by-ID modes but is not complete enough for reliable invocation in complex cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only clarifies the 'id' and 'ids' parameters. The other nine parameters, including page, order, expand, fields, filter, params, account, page_size, and sql_filter, remain undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: listing accounting cost centers and/or querying one by internal ID. This differentiates it from the many sibling tools that target other Protheus resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description directly conveys when the tool is appropriate: to list cost centers or fetch one by internal ID, with bulk execution support. It does not explicitly exclude alternatives, but the resource-specific scope makes the intended usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_clientes_fornecedoresA
Read-onlyIdempotent
Inspect

Consulta o cadastro de clientes e fornecedores (API CustomerVendor). Sem filtro traz a coleção inteira; tipo separa a entidade e, junto com id, traz um registro específico.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
tipoNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds valuable behavioral context beyond those annotations: unfiltered calls return the entire collection, which implies potentially large results, and bulk execution via `ids` is supported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the tool's core purpose, followed by scoping semantics and bulk support. Every sentence adds useful information without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (12), absence of an output schema, and no descriptions in the schema, the description covers only the core retrieval path. It omits pagination behavior, filter syntax, response shape, and other common usage details, so an agent may struggle with correct invocation in non-trivial cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 12 parameters, the description must compensate, but it only explains `id`, `tipo`, and `ids`. Parameters like `page`, `page_size`, `filter`, `sql_filter`, `fields`, `order`, `expand`, `params`, and `account` remain undocumented, leaving significant ambiguity for an agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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: consulting the customer/supplier registry via the CustomerVendor API. It also distinguishes behavior by input (`tipo`, `id`) and notes that no filter returns the whole collection, which sets it apart from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use the tool: no filter returns the full collection, `tipo` selects an entity type, and `tipo` plus `id` returns a specific record. However, it does not explicitly say when to prefer this tool over alternatives or mention exclusions, so context is clear but not comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_comissoesB
Read-onlyIdempotent
Inspect

Consulta as comissões de venda, ou uma comissão pelo id interno.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only, idempotent, and non-destructive behavior, so the description's burden is lower. It adds a useful behavioral detail about bulk execution via ids, but does not mention pagination, filtering behavior, or what the response looks like. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded: the purpose appears first, followed by a single high-value behavioral note. There is no redundant text or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite eleven parameters and no output schema, the description only explains the id/ids selection mechanism and bulk support. It omits pagination, ordering, filtering, expansion, field selection, and response shape, so an agent lacks enough context to call the tool correctly in many scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description clarifies only two of eleven parameters: 'id' and 'ids'. Several cryptic parameters such as 'expand', 'sql_filter', 'params', and 'page_size' receive no explanation, so the description does not compensate adequately for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Consulta') and resource ('comissões de venda'), and clarifies that it can return a collection or a single commission by internal id. This clearly establishes the tool's core purpose, though it does not explicitly compare itself to siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The resource name and description imply the tool is for querying commission data, and the bulk support line gives some guidance on using ids for batched requests. However, there is no explicit statement of when to prefer this tool over alternatives or any exclusions, leaving usage partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_compras_mrpA
Read-onlyIdempotent
Inspect

Consulta os pedidos de compra ou as solicitações de compra do MRP. Aceita filtros da API em params (branchId, product, deliveryDate, warehouse). Com branch_id e codigo traz um registro específico.

Bulk support: accepts branch_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
tipoNo
orderNo
codigoNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
branch_idNo
page_sizeNo
branch_idsNo
sql_filterNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint and non-destructive behavior, and the description aligns by using 'Consulta.' The description adds useful behavioral context beyond annotations, such as bulk execution via `branch_ids` and the specific-record behavior with `branch_id` and `codigo`. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core purpose, and every sentence adds operational value: filters, single-record lookup, and bulk execution. There is no filler or redundant repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, a 0%-coverage schema, nested objects, and no output schema, the description is not complete enough. It explains basic lookup and bulk behavior, but omits how to select between `pedido` and `solicitacao`, advanced filtering, pagination, and return-value expectations, all of which matter for a complex API surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it only covers some parameters: the `params` filter keys (branchId, product, deliveryDate, warehouse), plus `branch_id`, `codigo`, and `branch_ids`. Important parameters such as `tipo`, `filter`, `sql_filter`, `fields`, `expand`, `account`, `page`, and `page_size` are left unexplained, so an agent may not know how to use them correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Consulta') and clearly identifies the resource: purchase orders or MRP purchase requisitions. This is distinct from the many related protheus_* siblings, and an agent can understand both the domain and the object being queried.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage context: it explains which filters go into `params`, that `branch_id` plus `codigo` returns a specific record, and that `branch_ids` enables batched execution. It does not explicitly compare with alternatives, but the resource scope is specific enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_condicoes_pagamentoB
Read-onlyIdempotent
Inspect

Lista as condições de pagamento cadastradas, ou consulta uma pelo id interno.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful behavioral detail about batched id execution and internal-id lookup, but does not disclose pagination or return format. This is acceptable given the strong 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, front-loaded with the core listing/lookup purpose, and contains no wasted words. The bulk-support note is dense and useful, though slightly more structural detail would improve scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, no output schema, and no per-parameter documentation, this description is too thin to fully support correct invocation. Important details such as pagination behavior, filtering, field selection, and response shape are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for the 11 parameters. It only clarifies id/ids and batched execution; parameters such as page, order, expand, fields, filter, params, account, page_size, and sql_filter remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names a concrete resource ('condições de pagamento') and states two explicit behaviors: listing all registered payment conditions and consulting one by internal id. It is specific and recognizable, though it does not explicitly distinguish itself from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use the tool: to list payment conditions or fetch a specific one by id, with bulk execution supported via ids. It does not mention exclusions or alternatives, but sibling tools target different entities, so the context is largely sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_contatosB
Read-onlyIdempotent
Inspect

Lista os contatos do CRM, ou consulta um contato por id.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the bulk execution behavior and the dual list/query mode, which goes beyond annotations. No contradiction is present, but no further behavioral context (e.g., error handling, pagination limits) is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the main purpose and immediately notes the bulk support. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters and zero schema descriptions, and no output schema, the description is far from complete. It fails to explain pagination, filtering, field selection, or the 'params' object, leaving the agent unable to construct valid calls beyond basic id/ids usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

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 explain all parameters. It only mentions 'id' and 'ids', leaving the other nine parameters (page, order, expand, fields, filter, params, account, page_size, sql_filter) completely undocumented. This is a severe gap that prevents correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: it lists CRM contacts or queries a single contact by id. It distinguishes itself from sibling tools (e.g., protheus_clientes_fornecedores) by its specific focus on contacts, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions bulk support through 'ids', which guides when to use that parameter vs a single 'id'. However, it does not provide any guidance on when to choose this tool over other protheus_* tools, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_diagnosticoA
Read-onlyIdempotent
Inspect

Descobre quais APIs REST esta instalação Protheus realmente responde. Sonda cada API do catálogo oficial com uma consulta mínima e classifica em disponivel, ausente, sem_permissao ou erro. Rode isto primeiro numa conta nova: a TOTVS publica 125 APIs para a linha Protheus, mas cada instalação expõe um subconjunto, conforme a versão da LIB, os módulos licenciados e as customizações.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
termoNo
accountNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations already indicate read-only and non-destructive behavior, the description adds that it sends a minimal query to each API and classifies results into available, missing, permission-denied, or error. It also notes variability based on LIB version, licensed modules, and customizations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, no redundant details. It delivers the essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's purpose and the variability of API availability, but omits the response format (beyond the classifications) and the parameter semantics. Since there is no output schema, the agent is left without the operational details needed for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

None of the three optional parameters (limit, termo, account) are explained in the description. With 0% schema coverage, the agent has no idea how to set these values, breaking correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it discovers which REST APIs a Protheus installation responds to, with specific details about probing the official catalog and classifying outcomes. It is distinct from sibling tools that focus on specific business data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises running this first on a new account, establishing it as a prerequisite step. Does not mention alternatives, but the 'primeiro' guidance gives a clear trigger for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_estoqueB
Read-onlyIdempotent
Inspect

Consulta o saldo em estoque. Escolha a fonte: varejo (saldo em estoque do varejo) ou mrp (estoque do MRP, com armazém, lote e saldos bloqueado, consignado e em controle de qualidade). São módulos distintos e podem divergir.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
fonteNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description correctly avoids repeating those. It adds useful behavioral context: the two modules are distinct and may return divergent results, and it enumerates the MRP-included balances (blocked, consigned, quality control). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) but not optimally concise. It repeats 'saldo em estoque' and the second sentence is somewhat run-on. Still, it front-loads the key instruction about choosing the source.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and no descriptions in the schema, the description is incomplete. It explains only the 'fonte' parameter and lacks guidance on filtering, pagination, or expected response shape. For a query tool, this is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clearly explains the 'fonte' parameter with its two enum values and their semantics, which is valuable. However, it neglects the other 9 parameters (page, order, fields, filter, params, account, page_size, sql_filter) leaving them effectively undocumented, especially the complex nested 'params' object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('consulta' = queries) and a specific resource (stock balance) and distinguishes two sources (varejo vs. mrp) with concrete meanings. It clearly separates this tool from siblings like protheus_produtos or protheus_vendas_varejo by focusing on inventory balance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus alternatives. It only instructs on choosing between two internal sources ('fonte'), which is parameter selection, not tool selection. It never mentions sibling tools or conditions for preferring them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_filiaisA
Read-onlyIdempotent
Inspect

Lista as empresas e filiais do grupo (API TSIBranches). É o ponto de partida prático: os códigos de empresa e filial daqui alimentam o header tenantId da conexão e os filtros branchId das demais tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the operation's safety profile is clear. The description adds useful context beyond annotations by identifying the API and explaining that the returned codes are consumed by other tools, clarifying response semantics. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler, front-loading the verb and resource in the first sentence. The second sentence adds practical value by explaining why the tool matters, so every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's purpose, its role as a starting point, and the broad nature of the return data (company/branch codes), while annotations cover safety. However, with 9 undocumented parameters and no output schema, an agent gets no guidance on pagination, filtering, field selection, or response shape beyond the general statement, leaving clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and none of the 9 parameters are documented in the schema. The description does not mention page, filter, fields, expand, or any other parameter, so it provides no compensation for the missing parameter documentation. This is a significant gap for a tool with this many parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the concrete verb 'Lista' and a specific resource ('empresas e filiais do grupo'), and identifies the underlying API (TSIBranches). This makes the tool's purpose clear and differentiates it from the many other protheus_* tools that concern different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames the tool as the 'ponto de partida prático' and explains that its output codes feed the tenantId header and branchId filters of other tools, giving clear when-to-use context. It does not list alternatives or say when not to use it, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_limite_creditoB
Read-onlyIdempotent
Inspect

Consulta o limite de crédito dos clientes. Com cliente_id traz o limite de um cliente específico.

Bulk support: accepts cliente_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
cliente_idNo
sql_filterNo
cliente_idsNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful single-vs-batch behavior but does not explain pagination, filtering, or the response shape. This is adequate given the annotations, though not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler and fronts the purpose before the usage details. Every sentence earns its place, and the formatting clearly separates the base behavior from the bulk mode.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 11 parameters and no output schema, yet the description only explains the two client-identifier parameters. Generic query and pagination parameters remain unexplained, and the expected return payload is not described. An agent could make basic calls but would be guessing about filtering, pagination, and response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters. It only clarifies cliente_id and cliente_ids; the remaining nine parameters (page, order, expand, fields, filter, params, account, page_size, sql_filter) are left completely undocumented. This leaves a large risk of the agent misusing the generic query parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair, 'Consulta o limite de crédito dos clientes', which clearly identifies what the tool returns. It goes on to distinguish the single-client path (cliente_id) from the batch path (cliente_ids), so an agent can tell its core behavior. It does not explicitly name a sibling for disambiguation, but the credit-limit resource is distinct enough among the protheus_* family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage direction: use cliente_id for one client and cliente_ids for batched execution. This is clear context for selecting the right invocation mode. It does not state when not to use the tool or mention alternatives, but for a read-only query tool the provided guidance is reasonably actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_list_accountsB
Read-onlyIdempotent
Inspect

Lista as instalações Protheus conectadas a este install, com id e label (host/usuário).

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description's 'Lista' aligns with them. The description adds useful context by scoping the results to installations connected to 'this install' and by specifying the output fields (id e label).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant phrases. Every word contributes to explaining the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally viable: it explains the main action, scope, and output. However, the undocumented 'account' parameter and the absence of any usage guidance leave gaps that prevent a fully confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter, 'account', with no description, and schema description coverage is 0%. The description never mentions this parameter, so an agent cannot determine whether it filters installations, identifies a connection, or serves another purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lista') and resource ('instalações Protheus conectadas a este install'), and even states the returned fields (id e label). This clearly distinguishes it from the domain-specific sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 how the optional 'account' parameter should affect usage. Sibling tools are not referenced, so an agent must infer usage largely 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.

protheus_modulosB
Read-onlyIdempotent
Inspect

Lista os módulos do sistema Protheus nesta instalação. Indica o que está ativo e ajuda a explicar por que uma API responde ou não.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds that the tool indicates what is active, which is a useful behavioral insight beyond annotations. No contradiction found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the main purpose and add a key behavioral detail. No wasted words; structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a read-only list tool, it has 9 optional parameters and no output schema. The description does not cover pagination, filtering semantics, response format, or any parameter usage, leaving a significant gap for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about any of the 9 parameters (page, filter, expand, fields, sql_filter, etc.). The agent has no guidance on how to use these generic-looking parameters for this specific tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (lista/lists) and the resource (módulos do sistema Protheus) and adds a diagnostic purpose (helps explain why an API responds or not). It distinguishes the tool's role from other modules but does not explicitly differentiate from sibling diagnostic tools like protheus_diagnostico.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for understanding active modules and diagnosing API behavior, but it does not state explicit when-to-use/when-not-to-use conditions or name alternative tools. The context is clear enough to infer but lacks direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_notas_totaisB
Read-onlyIdempotent
Inspect

Consulta os totais de notas fiscais de saída ou de entrada do varejo, incluindo a visão de notas canceladas.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
tipoNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
canceladasNo
sql_filterNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context around entrada/saída and canceled notes, but does not disclose return shape, pagination, or filtering behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It communicates the operation and key scope efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, no output schema, and no parameter descriptions, this one-sentence description is not enough for an agent to invoke the tool correctly. It lacks parameter semantics, filter behavior, and response expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 11 parameters, the description needed to compensate. It only echoes the entrada/saída distinction, which maps loosely to the 'tipo' enum, and leaves all other parameters like filter, expand, fields, canceladas, and page_size unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific verb ('Consulta') and resource ('totais de notas fiscais'), and adds scope: saída/entrada, varejo, and canceled notes. It is distinctive enough even though it does not explicitly compare itself 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.

Usage Guidelines2/5

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 alternatives, no exclusions, and no usage context. The agent must infer the intended use from the name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_oportunidadesB
Read-onlyIdempotent
Inspect

Lista as oportunidades comerciais do CRM, ou consulta uma oportunidade pelo id interno.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description only needs to add extra behavioral context. It adds 'Bulk support: accepts ids for batched execution', which is genuinely useful. However, it does not disclose pagination, response format, or how filters behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with the main purpose in the first sentence and the bulk behavior in the second. It uses no filler words, though it could add a bit more useful detail without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 11 parameters, no output schema, and no per-parameter documentation, the description only covers listing and id-based lookup plus bulk support. Missing details around filtering, expansion, ordering, and response shape make the tool incomplete for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 11 undocumented parameters. It only clarifies 'id' and 'ids', leaving parameters like 'expand', 'fields', 'filter', 'params', 'sql_filter', 'page_size', and 'account' without any semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: listing CRM commercial opportunities or querying one by internal id. This clearly distinguishes it from the sibling protheus_* tools, which target different resources like products, orders, or proposals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies two usage modes (list all opportunities or fetch one by id) but gives no guidance on when to prefer this tool over related siblings such as protheus_propostas_comerciais, nor any exclusions or alternative conditions. Usage context is largely left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_ordens_producaoA
Read-onlyIdempotent
Inspect

Consulta as ordens de produção do MRP. Aceita filtros da própria API em params (branchId, product, warehouse, deliveryDate, startDate). Com branch_id e codigo traz uma ordem específica.

Bulk support: accepts branch_ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
orderNo
codigoNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
branch_idNo
page_sizeNo
branch_idsNo
sql_filterNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description's 'Consulta' is consistent with those. The description adds some behavioral value with 'Bulk support: accepts branch_ids for batched execution', but it does not disclose output shape, pagination behavior, or API limits, so its additional transparency is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact at three sentences, front-loads the primary purpose, and each sentence adds distinct information: core purpose, parameter/filter semantics, and bulk behavior. The unannounced switch between Portuguese and English and the unformatted filter list are minor structural blemishes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 12 parameters, no parameter descriptions in the schema, and no output schema, so the description should cover return format, pagination, and top-level filter/query syntax. It explains only a subset of parameters and says nothing about the response shape or how page, filter, and sql_filter behave, leaving an agent materially under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for missing parameter documentation. It does name key filters such as branchId, product, warehouse, deliveryDate, startDate, plus branch_id, codigo, and branch_ids. However, it leaves page, order, expand, fields, filter, account, page_size, and sql_filter unexplained, so compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Consulta as ordens de produção do MRP', stating a specific verb and resource, and clarifies that it can fetch a single order using branch_id and codigo. It clearly identifies the tool as a read-only MRP production-order query, though it does not explicitly contrast it with sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context: filters can be passed in params, a specific order is retrieved with branch_id and codigo, and branch_ids enables batched execution. It lacks explicit alternatives, exclusions, or when-not-to-use guidance, but the provided usage modes are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_parametrosC
Read-onlyIdempotent
Inspect

Consulta os parâmetros de sistema do Protheus.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which match the 'Consulta' description; there is no contradiction. The description adds no extra behavioral detail such as pagination behavior, response shape, or data scoping, but the annotation safety profile covers the most important side-effect expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that wastes no words and front-loads the verb and resource. It is concise and easily scanned, though the brevity does mean less semantic support for the many parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite helpful annotations, the tool has nine undocumented parameters, no output schema, and a large sibling set, so a single sentence leaves too much for the agent to infer. The description does not explain how filters, fields, params, or pagination interact, what the response contains, or what constraints apply. This is not complete enough for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are nine parameters and schema_description_coverage is 0%, yet the description does not explain any of them. Generic names like page, filter, fields, expand, params, account, page_size, and sql_filter may hint at REST-style usage, but the description provides no semantic compensation for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Consulta') and resource ('os parâmetros de sistema do Protheus'), so an agent can identify what the tool does. It does not explicitly differentiate it from the many sibling Protheus tools, but the resource scope is specific enough to avoid confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the many protheus_* siblings, and no mention of prerequisites or typical use cases. The description simply states the action without explaining when it is the right choice or when another tool should be selected.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_pedidos_varejoB
Read-onlyIdempotent
Inspect

Lista os pedidos de venda do varejo. Com id, retorna os itens daquele pedido.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, idempotentHint, and destructiveHint, and the description adds meaningful behavioral context: returning line items when `id` is provided and supporting batched execution through `ids`. The description does not contradict the annotations, but it omits details like pagination limits, default list behavior, and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded: the core listing behavior comes first, then the `id` special case, then bulk support. Every sentence earns its place and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 parameters, no output schema, and zero schema-level parameter descriptions, this definition is incomplete. It gives no indication of response format, pagination semantics, filter syntax, or how this tool differs from closely related siblings, so an agent would need substantial external information to invoke it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 11 undocumented parameters. It only explains `id` and `ids`, leaving `page`, `order`, `expand`, `fields`, `filter`, `params`, `account`, `page_size`, and `sql_filter` without any semantics. This is a significant gap for callers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific resource ('pedidos de venda do varejo') and an action ('Lista'), and further distinguishes behavior by stating that passing `id` returns the items of that order. However, it does not differentiate this tool from the similarly named sibling `protheus_vendas_varejo`, so an agent may struggle to choose between them based solely on the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful internal usage guidance: `id` fetches order items and `ids` enables batch execution. It does not, however, explain when to choose this tool over siblings like `protheus_vendas_varejo` or `protheus_notas_totais`, so the when/why selection context 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.

protheus_produtosB
Read-onlyIdempotent
Inspect

Consulta o cadastro de produtos. O Protheus expõe produto por módulo, então escolha a fonte: varejo (API de produtos do varejo) ou mrp (produto do planejamento de manufatura). São cadastros diferentes, não duas visões do mesmo.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
fonteNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond those annotations: product data is partitioned by module, and varejo and mrp are distinct registries rather than two views of the same data. This is a meaningful semantic warning that helps the agent interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core purpose, and each sentence adds necessary clarification about module partitioning and source selection. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter read query with no output schema and no parameter descriptions, the description is too thin: it omits filtering, pagination, account handling, return shape, and any prerequisites. The critical varejo/mrp distinction is covered, but most invocation options remain cryptic.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage across 10 parameters, the description carries the burden of explaining parameters, but it only explains fonte and its allowed values. Parameters such as filter, sql_filter, expand, fields, params, account, and page_size remain undocumented, so an agent must guess at their semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Consulta') and resource ('cadastro de produtos'), and explicitly defines the two module-specific sources (varejo/mrp). However, it does not explicitly distinguish this tool from sibling tools like protheus_catalogo or protheus_estoque, so the scope is clear but the sibling differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance to choose a fonte because Protheus exposes products per module, and it warns that varejo and mrp are separate registries. It does not, however, explain when to prefer this tool over other product-related sibling tools, so the guidance is useful but incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_propostas_comerciaisA
Read-onlyIdempotent
Inspect

Lista as propostas comerciais de uma oportunidade, ou consulta uma proposta específica. No Protheus a proposta vive dentro da oportunidade, então oportunidade_id é obrigatório.

Bulk support: accepts oportunidade_ids, ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo
oportunidade_idYes
oportunidade_idsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the domain rule that a proposal lives inside an opportunity, making `oportunidade_id` mandatory, and the availability of batched execution via `oportunidade_ids` and `ids`. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded: the first sentence states the purpose and key constraint, and the second covers bulk support. Every sentence earns its place, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose, the required parent ID, and batching, but does not explain how to request a specific proposal (e.g., using the `id` parameter), pagination defaults, output format, or how expand/filter behave. With no output schema, some return-value guidance would be expected. Adequate for a simple tool but with clear gaps for a 13-parameter API.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain the most critical parameter (`oportunidade_id`) and identifies `oportunidade_ids` and `ids` as bulk parameters. However, the remaining ten parameters (page, order, expand, fields, filter, params, account, page_size, sql_filter, id) receive no explanation, leaving significant semantic gaps for an agent trying to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action and resource: 'Lista as propostas comerciais de uma oportunidade, ou consulta uma proposta específica.' It also provides important scoping context by noting that a proposal lives within an opportunity and that `oportunidade_id` is required. This differentiates it from the many sibling protheus_* tools, none of which target commercial proposals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: use this tool to list proposals for an opportunity or to query one specific proposal. It does not explicitly mention alternatives or when-not-to-use, but among the siblings there is no competing tool for this resource, so the guidance is sufficient. The bulk support line further clarifies when multiple IDs can be passed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_tabela_precosA
Read-onlyIdempotent
Inspect

Consulta as tabelas de preço. Sem argumentos lista os cabeçalhos; com codigo traz uma tabela; com codigo e itens traz os itens e preços dela.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itensNo
orderNo
codigoNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so no need to restate safety. The description adds valuable behavioral detail by describing the output granularity (headers, full table, items+prices) for each argument combination, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, purpose-led, with no superfluous content. The three usage modes are packed efficiently and are immediately understandable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a complex 11-parameter input, the description is incomplete. It covers the primary modes but omits any information about return format, error cases, or the purpose of the many generic parameters (e.g., page, filter, sql_filter). An agent would struggle to use the full capability of the tool based on this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the semantics of only two parameters (codigo and itens) out of 11; the other nine (page, order, filter, fields, expand, params, account, page_size, sql_filter) remain undocumented in both schema and description, leaving the agent without guidance on pagination, filtering, or selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource (price tables) and the verb (consulta/query), and explicitly distinguishes three usage modes based on arguments (no args, with codigo, with codigo+itens), which differentiates it from the many protheus_* sibling tools that target other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states when to use the tool — to query price tables — and explains the argument-driven variations, which serves as usage guidance. It does not name alternative tools or explicitly say when not to use it, but the context is unambiguous given the resource-specific naming of siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_transportadorasA
Read-onlyIdempotent
Inspect

Lista as transportadoras cadastradas, ou consulta uma pelo id interno.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive safety. The description adds the bulk execution behavior via 'ids' and the list-or-single query distinction, which is useful beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the core function and a separate line for bulk support. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters and no output schema, the description is insufficient. It does not mention common query options (page, order, filters, expand, fields) nor response shape, leaving agents to guess or rely on patterns from other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 11 parameters. The description only clarifies 'id' and 'ids' (internal id and bulk), leaving pagination, filtering, ordering, expansion, field selection, and account parameters undocumented. It fails to compensate for the schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation: it lists registered carriers or queries one by internal id. This is a specific verb-resource pair and distinguishes the tool from siblings like protheus_clientes_fornecedores by naming the resource 'transportadoras' explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for carrier lookups via the tool name, but it does not mention when to prefer this tool over alternatives or any exclusions. It only hints at bulk support, not a decision criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_usuariosA
Read-onlyIdempotent
Inspect

Lista os usuários do Protheus, ou consulta um usuário por id.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description does not need to restate that. It adds some extra context by noting bulk execution support, but does not disclose other behavioral aspects like pagination 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded, and contains no filler. It states the primary function first, the by-id variant second, and bulk support last, with every sentence earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite annotations covering the read-only/idempotent profile, the tool has 11 parameters and no output schema, yet the description only explains id/ids. Key operational details about filtering, pagination, expansion, account selection, and SQL filters are missing, making the description incomplete for complex calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It only gives minimal meaning for 'id' and 'ids', while page, order, expand, fields, filter, params, account, page_size, and sql_filter are left completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Lista os usuários do Protheus') and a secondary operation ('consulta um usuário por id'), clearly identifying both the verb and the resource. It distinguishes this tool from the many protheus_* siblings by naming the 'usuarios' resource explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers clear context: use it to list users or fetch one by id, with additional bulk guidance via the ids parameter. It does not explicitly mention alternatives or when-not-to-use conditions, but the usage context is sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_vendas_varejoB
Read-onlyIdempotent
Inspect

Consulta as vendas do varejo, ou uma venda pelo id interno. Exige o módulo de varejo publicado nesta instalação.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to restate read-only behavior. It adds bulk support and module requirement, which are useful beyond annotations. However, it does not describe pagination, error behavior, or return format, leaving some gaps. The additional context justifies a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—three short sentences—with no fluff. Each sentence earns its place: purpose, prerequisite, and bulk support are all stated efficiently. The structure is front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 11 parameters, no output schema, and no parameter descriptions. The description only covers a fraction of them and does not explain return values, pagination, filtering, or how to combine parameters. This is incomplete for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains only 'id' and 'ids' (for bulk) but leaves 9 other parameters (page, order, expand, fields, filter, params, account, page_size, sql_filter) entirely undocumented. This is insufficient given the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries retail sales ("Consulta as vendas do varejo") or a single sale by internal id, which is specific and clear. However, it does not explicitly differentiate from sibling tools like protheus_pedidos_varejo, so it lacks the sibling differentiation that would warrant a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 only contextual note is a prerequisite ("Exige o módulo de varejo publicado nesta instalação"), which is not usage guidance. No exclusions or alternative routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protheus_vendedoresB
Read-onlyIdempotent
Inspect

Lista os vendedores cadastrados, ou consulta um vendedor pelo código.

Bulk support: accepts ids for batched execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
pageNo
orderNo
expandNo
fieldsNo
filterNo
paramsNo
accountNo
page_sizeNo
sql_filterNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's job is additive. It adds useful behavioral context by stating the tool supports both single-code lookups and batched execution via ids. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with the primary action front-loaded and the bulk behavior clearly separated. There is no filler, redundancy, or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with strong read-only and idempotency annotations, the tool has 11 parameters, a nested params object, no output schema, and no parameter-level documentation. The description is too thin for an agent to understand filtering, pagination, expansion, or sql_filter behavior for non-trivial calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, leaving the description to compensate for 11 undocumented parameters. It only hints that 'id' is a seller code and 'ids' enables bulk execution; the remaining parameters such as page, order, expand, filter, params, account, page_size, and sql_filter are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Lista os vendedores cadastrados' (lists registered sellers) or queries one by code, providing a specific verb and resource. It focuses on 'vendedores', which distinguishes it from sibling tools like protheus_usuarios, 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.

Usage Guidelines2/5

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 sibling Protheus tools. The bulk support note describes a capability rather than a contextual recommendation, and no exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile with idempotentHint=true and destructiveHint=false. The description adds that conversation data is needed for reproduction, which is useful context. However, it does not disclose what happens after submission, such as whether a ticket is created or whether the report is asynchronous, though the annotations lower the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two tight sentences: the first states the purpose, the second gives the key usage instruction. There is no filler, repetition, or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter reporting tool with annotations already covering idempotency and destructiveness, the description is mostly sufficient. The main gaps are the unexplained `context` parameter and the absence of any indication of what the response or outcome will be, though no output schema is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 undocumented parameters. It only clarifies the `conversation` parameter via 'conversation array with recent messages,' leaving the required `message` and optional `context` undefined. The agent must guess at their intended content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the verb 'Report' and explicitly enumerates three targets: 'bug, missing feature, or send feedback'. This makes the tool's purpose unmistakable and easily distinguishable from the sibling calculo_* and authentication tools, which serve entirely different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes a clear context: use when a user reports a problem or wants to provide feedback. It also adds practical guidance to 'Include the conversation array with recent messages for reproduction.' It does not name alternatives, but none of the sibling tools overlap with bug reporting, so exclusions are unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, non-mutating call. The description adds little beyond that—it names the output as versions but doesn't specify the format (e.g., semver strings, JSON object) or whether the output is human-readable. Since the annotations carry the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 9 words, front-loading the action ('Show') and the object ('version'). There is zero waste, and it fully conveys the tool's purpose within its scope. This is a model of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, idempotent tool with no output schema, the description is nearly complete. An agent can confidently invoke it without additional context. The only minor gap is that the return format is unspecified, but since there is no output schema, a brief note on the output structure (e.g., 'returns a plain-text summary') would elevate completeness. Still, the description is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (no properties). The description doesn't need to explain parameters. The baseline for zero-parameter tools is 4, and the description is consistent with that—it correctly implies that no input is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Show the current MCP platform and adapter versions.' This is a specific verb-resource pair that distinguishes it from sibling tools, which are all calculation or authentication tools. It could be slightly more explicit about what 'show' returns (e.g., a text summary vs. structured data), but the resource is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for checking version information, which makes sense in contexts where an agent needs to confirm platform/adapter versions before proceeding. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention whether version information is needed for authentication or compatibility checks. Given the sibling tools are all calculations, the usage context is reasonably clear, but not explicitly delineated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate safety. It adds value by detailing what kind of state is returned, including connection status and account bindings, which helps the agent understand the tool's informational scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tightly packed sentence with the main action front-loaded, followed by a colon-delimited list of return contents. Every phrase earns its place with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only introspection tool, the description fully covers what the agent needs to know before calling: what information it will receive. No output schema exists, but the description essentially provides a light output contract by enumerating the returned components.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty with zero parameters, and schema description coverage is 100%, so the description has no parameter burden. Per calibration, zero-parameter tools receive a baseline of 4; the description's output-focused content is more than sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Returns') and resource ('current toolkit state'), then enumerates exactly what is included: installed MCPs, connection status, connected accounts, and catalog tool counts. This is specific enough to distinguish it from computational siblings like calculo_* and action tools like authenticate or connect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly conveys that this is the tool to call when an agent needs an overview or snapshot of the toolkit's current state. It does not explicitly list exclusion criteria or name alternatives such as show_version, but the context is clear enough for routine selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 32 tool updates
    • First observedauthenticate
    • First observedconnect
    • First observedmarketplace
    • First observedprotheus_api
    • First observedprotheus_catalogo
    • First observedprotheus_centros_custo
    • First observedprotheus_clientes_fornecedores
    • First observedprotheus_comissoes
    • First observedprotheus_compras_mrp
    • First observedprotheus_condicoes_pagamento
    • First observedprotheus_contatos
    • First observedprotheus_diagnostico
    • First observedprotheus_estoque
    • First observedprotheus_filiais
    • First observedprotheus_limite_credito
    • First observedprotheus_list_accounts
    • First observedprotheus_modulos
    • First observedprotheus_notas_totais
    • First observedprotheus_oportunidades
    • First observedprotheus_ordens_producao
    • First observedprotheus_parametros
    • First observedprotheus_pedidos_varejo
    • First observedprotheus_produtos
    • First observedprotheus_propostas_comerciais
    • First observedprotheus_tabela_precos
    • First observedprotheus_transportadoras
    • First observedprotheus_usuarios
    • First observedprotheus_vendas_varejo
    • First observedprotheus_vendedores
    • First observedreport_bug
    • First observedshow_version
    • First observedtoolkit_info

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    Read-only MCP connector for querying the Protheus (TOTVS) system, exposing 10 GET endpoints as MCP tools with OAuth2 authentication and friendly error handling.
    10
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Read-only MCP server for Omie ERP, enabling AI assistants to query financial data, accounts payable/receivable, bank reconciliation, invoices, and movements via natural language.
    12
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server for Dynamics 365 Business Central, enabling AI clients to query live ERP data like customers, items, orders, and invoices via GET-only APIs with dual authentication and stdio/HTTP transports.
    10
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Integrates with TOTVS WinThor ERP by querying its Oracle database for routine catalogs and permissions, and enables executing routines through WinThor Anywhere.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.