gestaoclick_compras_create
Compras: Cadastrar (POST /api/compras). [write, altera dados]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| account | No |
Compras: Cadastrar (POST /api/compras). [write, altera dados]
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| account | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, which signals a write operation, and the description adds '[write, altera dados]' (modifies data), which is redundant with the annotation. However, it does expose the HTTP method (POST) and endpoint, which are not in annotations. Beyond that, no additional behavioral traits (e.g., auth requirements, side effects, or data persistence details) are mentioned, leaving the description only marginally additive.
Agents need to know what a tool does to the world before calling 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 (a single sentence) and front-loaded with the resource and action, which is good. However, it is under-specified rather than economically thorough; it omits all parameter details and behavioral nuance. While it earns its place for purpose, the brevity is not a strength when essential information is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the minimal schema (no enums, no required fields, no output schema) and the fact this is a create operation, the description fails to provide necessary context. It does not explain the request body structure, required account handling, or any expected response. Sibling tools like gestaoclick_compras_{get,list,update} suggest a full CRUD ecosystem, but this description alone is insufficient for an agent to correctly invoke the tool without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines two string parameters ('body', 'account') with zero description coverage, and the tool description does not explain either parameter at all. For a create operation, 'body' likely holds the purchase payload and 'account' might identify the account, but this is pure speculation. With no guidance, the agent has no semantic understanding of how to populate these fields, making this a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Compras: Cadastrar' (Purchases: Register) with the HTTP endpoint POST /api/compras. It identifies the specific resource (compras) and the create operation, distinguishing it from sibling tools like gestaoclick_compras_update or other entity create tools. The '[write, altera dados]' tag reinforces the intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (i.e., when creating a purchase) via the 'Cadastrar' verb, but provides no explicit guidance on when not to use it or alternatives like update or list. It lacks any mention of prerequisites, such as needing an existing account or authentication flow, and does not differentiate from similar create tools beyond the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools are clearly separated by resource and action (e.g., clientes_create vs. produtos_create), and the CRUD verbs are distinct. However, a few non-CRUD actions like cancelar_create and emitir_create carry a misleading '_create' suffix, and the connection tools (connect, list_accounts, toolkit_info) have overlapping concerns.
The dominant pattern is gestaoclick_{resource}_{verb}, which is predictable for the large CRUD set. But exceptions like gerar_parcelas_create, cancelar_create, and emitir_create append '_create' to non-creation actions, and standalone tools (authenticate, connect, marketplace, report_bug, show_version) do not follow the resource-based convention at all.
133 tools is far beyond the 'too many' threshold and will heavily burden an agent's tool-selection process. While the set may reflect a large ERP API, the sheer volume makes the server unwieldy and poorly scoped for typical agent use.
Core entities (clientes, produtos, vendas, compras, orcamentos, ordens_servicos, notas fiscais, etc.) have full CRUD plus important domain actions like emitir, cancelar, and gerar_parcelas. Minor gaps exist: many reference/lookup entities are list-only, and some lifecycle actions for those reference tables are missing, but overall the main workflows are covered.