Mercos
Server Details
Sales force and rep ERP on Mercos via the official API. List orders, customers, products, price tabl
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/mercos-mcp
- GitHub Stars
- 0
TDQS
Scored across 25 tools
The `mercos_*` resource tools are clearly separated by entity and action, but the platform tools are less crisp: `connect`, `toolkit_info`, and `mercos_list_accounts` all surface connection/account state, and `marketplace` bundles search, run, install, billing, and prompt operations into one catch-all tool, so an agent could easily misroute a request.
The 19 Mercos tools follow a consistent `mercos_<verb>_<entity>` pattern, but the 6 platform tools (`authenticate`, `connect`, `marketplace`, `report_bug`, `show_version`, `toolkit_info`) mix bare verbs, plain nouns, and noun_noun forms, creating two naming conventions and a Portuguese/English split.
25 tools is at the high end of the guideline range and feels heavy for one server, though the breadth is partly justified by the number of distinct ERP entities. Several list-only endpoints could be consolidated, and the oversized `marketplace` tool makes the count feel both bloated and under-decomposed.
Core commercial objects (clientes, produtos, pedidos, tabelas de preço) have list/create/update coverage and stock adjustment is present, but there are no delete operations, no update/create for most reference entities (categorias, transportadoras, títulos, comissões), and no explicit get-by-id/search tool, leaving several workflows with dead ends.
Available Tools
25 toolsauthenticateAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
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.
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.
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.
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.
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.
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.
connectARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
TDQS
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.
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.
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.
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.
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.
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.
mercos_ajustar_estoqueAInspect
Ajusta o estoque de produtos em lote (POST /v1/ajustar_estoque_em_lote). data = array de ajustes.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as a write, and the description adds that it adjusts stock in a batch via a specific POST endpoint. It does not clarify side effects like whether partial batches succeed, whether stock values are overwritten, or what the response contains, so the behavioral picture is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence covering purpose, the HTTP endpoint, and the primary parameter. There is no filler, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and annotations are minimal, the description should carry more weight. It omits the structure of a 'ajuste' object, the meaning of `account`, and any return/error behavior, making this a recognizing statement rather than a fully actionable tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds semantics only for `data` ('array de ajustes'), which is valuable because the schema itself provides no descriptions. However, the `account` parameter is completely undocumented, and the schema types `data` as a string rather than an array, creating ambiguity about the actual input format. The description only partially compensates for 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: 'Ajusta o estoque de produtos em lote' clearly identifies the action (adjust), the resource (product stock), and the mode (batch). It also cites the exact POST endpoint, and it is distinguishable from sibling tools like mercos_create_produto, mercos_update_produto, and mercos_list_produtos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'em lote' implies this tool is intended for bulk stock adjustments, giving some usage context. However, it does not explicitly state when to prefer this over alternatives such as mercos_update_produto, and it offers no exclusion criteria like 'use for multiple products only'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_create_clienteAInspect
Inclui cliente(s) (POST /v1/clientes). data = objeto ou array de clientes.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) and non-idempotent. The description adds value by noting that `data` can be an object or array, enabling batch creation, but does not disclose response behavior, authentication prerequisites, or side effects beyond the endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that includes the endpoint and the key parameter clarification. No filler or redundancy; it is appropriately sized for a simple create endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with no output schema, the description covers the core action and the data parameter's batch capability. However, it omits expected return values, the meaning of `account`, and any error or validation behavior, leaving noticeable gaps for an agent to invoke correctly in all contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that `data` can be an object or array of clients, which is helpful, but the `account` parameter is left unexplained, and the internal structure of a 'cliente' is not detailed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Inclui cliente(s) (POST /v1/clientes)' clearly identifies the creation of clients and the target resource/endpoint. It is distinct from siblings like mercos_update_cliente and mercos_list_clientes, though the verb 'Inclui' is slightly less explicit than 'creates.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a create operation via the verb 'Inclui' and the POST endpoint, but provides no explicit guidance on when to use this tool versus alternatives like update or list. The distinction is largely inferred from the tool name and sibling list rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_create_pedidoBInspect
Inclui um pedido (POST /v2/pedidos). data com cliente, itens, condição de pagamento etc.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is not read-only (readOnlyHint=false) and not idempotent/idempotentHint=false). The description adds the HTTP method and endpoint, and the main content of `data`, but does not disclose side effects, auth requirements, or rate limits. Since annotations cover the basic mutation profile, this is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the primary action, endpoint, and main parameter content. It is concise and to the point with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should explain the return value or consequences of the operation. It also leaves the full structure of `data` and the purpose of `account` unexplained. For a create tool with a complex payload, this is insufficient for an agent to confidently use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It partially explains the `data` parameter (client, items, payment condition) but does not clarify its format (likely a JSON string) or the `account` parameter at all. The description fails to give meaningful semantics beyond what the parameter names imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it creates an order via POST /v2/pedidos, with `data` containing client, items, and payment conditions. This clearly distinguishes it from sibling tools like mercos_update_pedido or mercos_list_pedidos. However, it lacks the specificity of naming the exact resource or operation beyond 'includes an order', which is slightly vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools for related operations. The usage is only implied by the name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_create_produtoBInspect
Inclui produto(s) (POST /v1/produtos). data = objeto ou array de produtos.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description carries some burden. It adds the HTTP method and clarifies that 'data' can be an object or array, which goes beyond the schema's string type. However, it does not mention side effects, permissions, or error behavior, making it minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no wasted words. It conveys the core action and the data format efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema and limited annotations, the description is insufficient. It does not mention the 'account' parameter, expected response, required product fields, or error handling. The tool feels underspecified for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It partially compensates by explaining 'data' (object or array of products) but ignores 'account' entirely. The mismatch between the schema's string type and the description's object/array is not reconciled, leaving room for confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool includes/adds product(s) via POST to /v1/produtos, which distinguishes it from update and list siblings. It uses a specific verb and resource, though 'inclui' could be more explicit about creating new products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like mercos_update_produto or mercos_list_produtos. It lacks any contextual cues, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_create_tabela_precoCInspect
Inclui uma tabela de preço (POST /v1/tabelas_preco). data com os campos da tabela.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a POST request, implying a mutating create operation, consistent with readOnlyHint: false. However, it does not explain side effects, required authentication, idempotency, or any rate limits. The mention of 'data' containing fields is minimal and does not elaborate on behavior in edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence with no unnecessary words. It efficiently conveys the core function and includes an example-like reference to the endpoint. There is no redundancy or bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with no annotations or output schema, the description is insufficient. It omits details such as expected response, error behavior, required fields within 'data', and the purpose of 'account'. The tool remains under-specified for an agent to use correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description carries the burden. It adds context for the 'data' parameter ('com os campos da tabela') but not for 'account'. The format and required structure of 'data' remain unclear, offering only marginal value beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates a price table creation operation via 'Inclui uma tabela de preço' and explicitly includes the endpoint 'POST /v1/tabelas_preco', distinguishing it from sibling tools like 'mercos_list_tabelas_preco' for listing. While the verb 'Inclui' could be more specific (e.g., 'create'), the name and HTTP method remove ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention related tools like mercos_list_tabelas_preco or any scenarios where creating a price table is appropriate, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_accountsARead-onlyIdempotentInspect
Lista as empresas (CompanyToken) Mercos conectadas a este install, com id e label.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive, idempotent behavior. The description adds that it lists companies 'connected to this install', providing context about scope. It does not add more behavioral details beyond annotations but is not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant or unnecessary details. It is well-structured and easy to understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a basic idea of the output (id and label) but omits important context about the 'account' parameter, which could be a filter. Since there is no output schema, the description should clarify return structure more fully, but it states the tool lists accounts, which is a reasonable baseline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'account' is not described at all. The description does not explain its purpose, whether optional, or how it affects the listing. With 0% parameter coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Mercos companies connected to the install, with id and label. It uses a specific verb (list) and resource (companies/accounts), and is distinct from sibling tools that handle other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives, nor does it mention exclusions or alternatives. Usage is implied as 'when you need to list accounts', but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_categoriasBRead-onlyIdempotentInspect
Lista categorias de produtos (GET /v1/categorias).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
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 the GET endpoint, which reinforces the read-only nature, but it does not disclose pagination, filtering behavior, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It conveys the core purpose and endpoint efficiently, earning its place without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simple annotations, the tool has three undocumented optional parameters and no output schema. The description is too thin to fully equip an agent: it omits parameter meaning, return behavior, and any filtering details, so it 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the three parameters (account, filters, alterado_apos). Since the schema provides no descriptions and the tool description does not compensate, parameter semantics are entirely absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and resource ('categorias de produtos') and includes the exact endpoint (GET /v1/categorias). This clearly distinguishes it from sibling list tools like mercos_list_produtos and mercos_list_clientes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only states what the tool does, leaving the agent to infer usage context from the name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_clientesARead-onlyIdempotentInspect
Lista clientes (GET /v1/clientes). Use alterado_apos pra incremental.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
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 established. The description adds the incremental-filter behavior and confirms the GET endpoint, but does not disclose pagination, response format, or auth needs. This is adequate given the annotations, but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the primary purpose and containing no filler. Every word earns its place, and the incremental tip is efficiently appended.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple list operation with three optional parameters and no output schema. The core purpose is clear, but the lack of detail on `account` and `filters` creates gaps in contextual completeness. For a low-complexity read-only tool, this is a minimally viable description, but it could easily include parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only explains `alterado_apos` (for incremental). The other two parameters, `account` and `filters`, are left entirely undocumented, leaving the agent guessing about their format and purpose. The description does not compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Lista clientes' (lists clients), a specific verb+resource pairing that clearly states the tool's function. The endpoint reference '(GET /v1/clientes)' further clarifies the operation, and the resource distinguishes it from sibling list tools like mercos_list_pedidos or mercos_list_produtos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use `alterado_apos` pra incremental' provides a concrete usage guideline for a specific scenario (incremental sync). However, it does not explicitly mention alternatives for creating or updating clients, nor when not to use this tool, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_comissoesARead-onlyIdempotentInspect
Lista comissões (GET /v1/comissoes). Filtre por colaborador_id ou pedido_id via filters.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with the GET method and adds the filter behavior, but it does not disclose pagination, return format, or authentication needs. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the core action, includes the endpoint, and states the key filtering option. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the core operation and primary filter are present. Yet the undefined `account` and `alterado_apos` parameters, plus no mention of pagination or response behavior, leave some gaps for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description adds meaning to `filters` by explaining it accepts colaborador_id or pedido_id. However, `account` and `alterado_apos` remain undocumented, so the description only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb 'Lista' and the resource 'comissões', and adds the REST path GET /v1/comissoes. This clearly states what the tool does and distinguishes it from sibling list tools for other Mercos entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use this tool to list commissions, with filtering guidance via `filters`. It does not explicitly name alternatives or exclusions, but no sibling tool covers commissions, so the usage context is unambiguous enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_condicoes_pagamentoARead-onlyIdempotentInspect
Lista condições de pagamento (GET /v1/condicoes_pagamento).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only, idempotent, and non-destructive behavior, which covers the main safety traits. The description adds no further behavioral details (e.g., pagination, auth), so it meets the baseline but does not exceed it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that includes the HTTP endpoint, making it both brief and informative. No unnecessary details or verbosity are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation, the description provides enough context to understand the basic function. However, it omits details about return format, pagination, or parameter usage, leaving some gaps for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema includes three parameters (account, filters, alterado_apos) with no descriptions, and the tool description does not explain them. The parameter names give partial hints, but without explicit explanation, the description fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists payment conditions and provides the endpoint, making its purpose unambiguous. It also naturally distinguishes itself from sibling list_* tools by specifying the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving payment conditions but does not explicitly state when to use it versus alternatives. It lacks guidance on filtering or context where other tools might be preferred, so the usage is 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.
mercos_list_pedidosARead-onlyIdempotentInspect
Lista pedidos (GET /v2/pedidos). Use alterado_apos pra incremental. (Pedidos vivem na v2.)
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds the endpoint and a note that orders live in v2, but it does not disclose pagination behavior, return format, or rate limits, so it contributes only moderate behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one short sentence plus a parenthetical, with no filler or repetition. It front-loads the core purpose and immediately follows with a practical usage hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with good annotations and no output schema, the description is minimally adequate but leaves gaps: no mention of return values, pagination, or the meaning of 'account' and 'filters'. It provides enough for basic invocation but not full self-sufficiency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only explains 'alterado_apos' (for incremental updates) but leaves 'account' and 'filters' entirely undocumented, which is insufficient for a tool with no schema-level documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Lista pedidos' (lists orders), specifies the exact endpoint GET /v2/pedidos, and is distinct from sibling tools like mercos_create_pedido and mercos_update_pedido. The verb+resource combination is specific and immediately identifies the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear, actionable usage guidance: 'Use alterado_apos pra incremental' tells the agent how to perform incremental listing. It does not explicitly discuss exclusions or named alternatives, but the context of listing orders is clear enough for ordinary use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_produtosARead-onlyIdempotentInspect
Lista produtos cadastrados (GET /v1/produtos). Use alterado_apos pra incremental.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, destructiveHint: false, and idempotentHint: true, so the safety profile is covered. The description adds the incremental fetch tip and the HTTP method, but does not disclose additional behaviors like pagination or response format. With annotations present, the bar is lower, and the description provides some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two short sentences that immediately state the purpose and a key usage tip. There is no fluff or repetition, making it front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with good annotations and no output schema, the description is mostly sufficient. However, it leaves two parameters unexplained and does not mention any filtering or account considerations. The tool is simple enough that it might work, but adding parameter context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and three parameters, but the description only explains 'alterado_apos' for incremental fetching. Parameters 'account' and 'filters' are not explained at all. Since the description fails to compensate for the lack of schema documentation for most parameters, it misses the opportunity to add necessary meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lista produtos cadastrados' (lists registered products) and includes the HTTP endpoint 'GET /v1/produtos'. This clearly identifies the tool's purpose and action, easily distinguishing it from sibling tools like mercos_create_produto or mercos_list_pedidos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions using 'alterado_apos' for incremental fetching, which is a useful hint. However, it does not clarify when to use this tool versus other list tools or provide exclusions or alternative selections. The guidance is minimal and only hints at one parameter usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_tabelas_precoCRead-onlyIdempotentInspect
Lista tabelas de preço (GET /v1/tabelas_preco).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is clearly safe. However, the description adds nothing beyond the endpoint, such as pagination behavior, result scope, or authentication specifics. With annotations covering safety, the description still should provide some behavioral context, but it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence and front-loaded with the tool's purpose and endpoint. There is zero fluff, and every word serves a functional purpose. It is concise to a fault but earns full marks for structure and brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 unannotated parametersappers, no output schema, and no parameter descriptions, the description fails to provide necessary context. It does not explain pagination, filtering syntax, required authentication, or return behavior. The endpoint path is a hint, but not enough for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 3 parameters (account, filters, alterado_apos) that are completely undocumented in the description. The description provides no meaning beyond the parameter names, which are ambiguous (e.g., 'filters' as a plain string). This is a severe gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool lists price tables and gives the endpoint, which is a clear verb+resource pattern. However, it does not distinguish this from sibling list tools like mercos_list_clientes or mercos_list_produtos, and the phrase 'tabelas de preco' is not elaborated to clarify its business meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other listing tools, nor any context about typical use cases. The description simply names the operation and endpoint, so an agent gets no help in deciding between this and similar list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_titulosBRead-onlyIdempotentInspect
Lista títulos financeiros (GET /v1/titulos).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint:true, idempotentHint:true, destructiveHint:false. Description adds nothing beyond 'list', but it is consistent with annotations. No extra behavioral details such as limits, auth, or return specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, extremely concise with no fluff. It is front-loaded with the core action and resource, but its brevity borders on under-specification, hence not a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three undocumented parameters MATERIAL-ONLY and no output schema, the description provides no contextual guidance on filters, authentication, or expected results. It is minimally adequate for a simple list operation but leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions none of the three parameters (account, filters, alterado_apos). It provides zero semantic value beyond parameter names. With no parameter info in either schema or description, the agent is left guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lista títulos financeiros' clearly identifies the verb (list) and resource (financial titles). It also includes the endpoint GET /v1/titulos, which is specific. It distinguishes itself from sibling list tools by naming the specific resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like mercos_list_pedidos or mercos_list_comissoes. No explicit context or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_transportadorasCRead-onlyIdempotentInspect
Lista transportadoras (GET /v1/transportadoras).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description carries little additional behavioral burden. However, it adds only the HTTP endpoint (GET) and nothing about pagination, filtering semantics, or response characteristics—limited value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, but it is under-specified. It avoids fluff yet fails to include essential parameter or behavior information, making it minimally sized but not appropriately sized for a tool with three undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list operation, the description plus annotations cover the safety profile, but the tool is not fully understandable: parameter semantics are absent, no output format is described, and no filter or account context is given. The agent would struggle to invoke this tool correctly in a non-trivial way.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with three parameters (account, filters, alterado_apos) and no descriptions. The tool description does not compensate by explaining any parameter meaning, leaving the agent with no information about what these fields do or expect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lista') and resource ('transportadoras'), clearly indicating the tool lists carriers. The HTTP endpoint further clarifies the scope and distinguishes it from other mercos_list_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only states what it does, leaving the agent to infer usage solely from the resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_list_usuariosBRead-onlyIdempotentInspect
Lista vendedores/usuários (GET /v1/usuarios).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| filters | No | ||
| alterado_apos | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds the endpoint but does not mention any side effects or additional behavioral details. Since it's a read operation, the transparency is sufficient, but the description itself adds little 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly conveys the tool's purpose and endpoint. It avoids unnecessary detail and is well-structured for a short tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple (no output schema), the lack of any parameter explanation makes it incomplete. Users cannot effectively use the tool without understanding what account, filters, and alterado_apos represent. The description does not compensate for the missing parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The three parameters (account, filters, alterado_apos) have no descriptions in the schema, and the tool description does not explain their meanings or usage. There is zero parameter documentation, making it impossible for a user to know how to set these fields correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists sellers/users, which is a specific resource. The endpoint /v1/usuarios is provided, and among sibling list tools it's distinct in scope. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the HTTP method and resource but does not explicitly state when to use this tool versus other list tools (e.g., mercos_list_clientes). It implies usage for user/seller listings, but lacks explicit context or exclusions. Adequate but minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_update_clienteAInspect
Altera um cliente (PUT /v1/clientes/{id}). id + data com os campos a alterar.
Bulk support: accepts ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| ids | No | ||
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide generic flags (readOnlyHint=false, destructiveHint=false), so the description carries the burden of behavioral disclosure. It usefully reveals the PUT method and bulk execution via ids, but it does not explain batch semantics, atomicity, failure behavior, or whether `data` must be a JSON string. No contradiction with annotations was found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no filler. The first sentence states the operation and endpoint, and the second adds bulk behavior, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and minimal annotations, the description provides the core operation and bulk capability but omits return-value expectations, data encoding details, and account semantics. It is adequate for a simple update tool but leaves operational uncertainty for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that `id` identifies the client and `data` contains the fields to change, and it mentions `ids` for bulk. However, it does not explain the format of `data`, how `id` and `ids` interact, or what the `account` parameter means, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Altera um cliente' and explicitly states the HTTP method and endpoint (PUT /v1/clientes/{id}), making the action and target resource unambiguous. This clearly distinguishes it from sibling create/list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'Altera' implies this tool is for modifying an existing customer, and the bulk-support note adds usage context. However, it does not explicitly state when to use this tool versus mercos_create_cliente or mercos_list_clientes, nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_update_pedidoAInspect
Altera um pedido (PUT /v2/pedidos/{id}). id + data com os campos a alterar.
Bulk support: accepts ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| ids | No | ||
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints (all false), so the description carries the burden. It mentions 'Altera' and PUT, but does not disclose partial vs full replacement, side effects, required permissions, or error behavior. The bulk support is extra, but the overall transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose and a concise note on bulk support. Zero fluff; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 4 parameters, a richer description is needed. It lacks details on preconditions, semantics of partial updates, how account is used, and success/failure responses. The description is too sparse for a mutating tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description explains id and data as responsible for the fields to change, and ids for bulk execution. However, account is unexplained, and the format of 'data' (likely JSON) is not stated. It adds meaningful context for 3 of 4 parameters but not enough depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it alters an order via PUT /v2/pedidos/{id}, and mentions bulk support, which distinguishes it from create_pedido and list_pedidos siblings. The verb 'Altera' (change) with the resource 'pedido' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to use it (modifying existing orders), but it does not explicitly exclude creating new orders (which would use create_pedido) or listing them. The guidance is implicit rather than explicit, leaving some room for ambiguity among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mercos_update_produtoAInspect
Altera um produto (PUT /v1/produtos/{id}). id + data com os campos a alterar.
Bulk support: accepts ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| ids | No | ||
| data | Yes | ||
| account | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations provide no behavioral information (all hints false). The description discloses that it's an update (PUT) but lacks details on side effects, idempotency, error handling, or permissions. This leaves significant gaps in understanding the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences. It presents the core functionality and bulk support without extraneous information, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential operational aspects (endpoint, parameters, bulk support) but does not address error conditions, data format expectations, or authentication requirements. Given no output schema, return value details are not mandated, but additional context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies the purpose of `id` (product identifier) and `data` (fields to alter), and mentions `ids` for bulk operations. However, `account` is not explained, and the schema provides no descriptions. Coverage is approximately 75%, so the description adds some value but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Altera um produto' (alters a product) with the HTTP method PUT and endpoint. It distinguishes from sibling tools like mercos_update_cliente and mercos_update_pedido by specifying the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates usage by specifying the HTTP method, endpoint, and required parameters (`id` + `data`). It also mentions bulk support via `ids`, which provides practical usage guidance. However, it does not explicitly state when to use this tool over others or exclude scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
TDQS
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.
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.
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.
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.
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.
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_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
Related MCP Connectors
Bling ERP (SMB and e-commerce management, by Locaweb) via the official v3 API, sales orders, product
GestãoClick ERP (business management for SMBs) via the official API: customers, suppliers, products
Microvix retail ERP (Linx, part of the Stone group) for store chains and franchises, via the officia
Mercado Livre (Latin America's largest marketplace) via the official API, seller profile and reputat
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceHosted MCP server for Argentine commerce: real AFIP/ARCA fiscal invoicing (live CAE), MercadoPago payments, logistics, catalog, cash register and WhatsApp behind one authenticated endpoint. Includes 9 no-auth fiscal validation/formatting tools.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Bling ERP, enabling read and write operations on sales orders, products, contacts, accounts payable/receivable, NF-e, inventory, and more via OAuth 2.0.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to search, create, update, delete, and manage product listings, orders, shipping, questions, advertising campaigns, and more across 18 Latin American countries via the MercadoLibre REST API.20MIT
- AlicenseBqualityDmaintenanceIntegrates with the Mercado Livre API to enable management of sales, shipments, and shipping labels directly through Claude.71MIT