Velora LATAM Tools
Server Details
Argentina CUIT/CUIL validation and AFIP fiscal QR generation. Pure, no-auth MCP tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 22 of 22 tools scored. Lowest: 3.2/5.
Several tools duplicate the same underlying data in different presentation modes (get_payment_intent_status vs open_cobro_status, query_catalog vs open_catalog_selector, connection_status vs open_onboarding), creating ambiguity. Descriptions mention 'widget' vs JSON but an agent could easily pick the wrong one for a given task.
Tool names mix Spanish and English (caja_consultar_saldo vs validate_cuit) and use varying verb prefixes (open_, query_, get_, list_, find_, track_, quote_, validate_); only the open_ prefix is consistent.
22 tools sits at the high end of the borderline range; the server covers multiple domains (catalog, shipping, payments, fiscal) which justifies many tools, but some widgets and query equivalents could be consolidated.
The surface is heavily read-only: there are no create/update/delete tools for customers, suppliers, or products, and the only way to register a sale is through a widget that fires an internal function. There are also no tools to actually create a payment link or charge, leaving transactional workflows incomplete.
Available Tools
22 toolscaja_consultar_saldoConsult cash balanceARead-onlyIdempotentInspect
Queries the current cash register balance for the authenticated business — the open session data or the last closed session. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful context beyond the annotations by defining exactly which data is queried (open or last closed session) and scope (authenticated business). It does not contradict annotations, and 'Read-only' is consistent with readOnlyHint. However, it omits return format and error behavior, providing only moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates purpose and data scope without excessive detail. The 'Read-only' tail is slightly redundant given the annotations, but the overall structure is efficient and every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only query with strong annotations, the description sufficiently covers what is returned (a balance) and its data source. It lacks details about response structure or absence of data, but given the tool's simplicity and the provided context, this gap is acceptable.
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 no parameters, so there are no parameter semantics to clarify. The description avoids repeating schema information and instead adds context about what is being queried, aligning with the baseline of 4 for zero-parameter tools.
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 specifies the action ('queries') and the resource ('current cash register balance'), and adds scope by naming the data source (open session or last closed session). This distinguishes it from sibling tools like open_caja_status, which likely opens a status view rather than returning data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the current cash balance is needed, but provides no explicit guidance on when to use this tool versus alternatives like open_caja_status or connection_status. No alternative tools or exclusions are mentioned, so guidance relies on the obvious intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connection_statusConnection statusARead-onlyIdempotentInspect
Returns the BYOA (Bring Your Own Account) integration readiness for the authenticated business — what is connected and how to connect what is missing. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description repeats 'Read-only' and adds the notion of 'authenticated business' and output summary, but doesn't disclose new behavioral traits beyond annotations. Score 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One substantive sentence, but the trailing 'Read-only' is redundant with annotations. Still appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status tool, the description explains the output at a high level. No output schema exists, but the summary is sufficient for an agent to select and invoke 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?
Tool has zero parameters, so baseline 4 applies. Description adds no parameter information, but none is needed.
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 returns BYOA integration readiness for the authenticated business, specifying what is connected and how to connect what's missing. This specific verb+resource distinguishes it from sibling status 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?
Provides clear context: it targets the authenticated business and BYOA readiness. Does not explicitly mention alternatives or exclusions, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_customerFind customerARead-onlyIdempotentInspect
Searches customers in the business by name and/or phone. Returns up to 20 matching customers sorted by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Customer name substring to search (case-insensitive). | |
| phone | No | Customer phone number or partial number to search. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral traits: a result limit of 20, sorting by name, and search by name/phone. This goes beyond annotations to set expectations about response size and ordering.
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, tightly worded sentence with all key information front-loaded. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple optional-parameter search tool, the description adequately covers purpose, criteria, and return characteristics. It notes the result limit and sort order, which is sufficient given the lack of an output schema. Minor omission is lack of detail about returned fields, but overall it is complete for typical 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?
The schema covers both parameters thoroughly with descriptions (100% coverage). The tool description merely restates that search is by name and/or phone, adding no new parameter-level meaning. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'searches' and identifies the resource 'customers in the business.' It clearly specifies search criteria (name and/or phone) and distinguishes this from sibling tools like list_suppliers or query_sales.
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 looking up customers by name or phone, but it does not explicitly contrast with alternatives or state when not to use. No exclusionary guidance is provided, though the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fiscal_readinessGet fiscal readinessARead-onlyIdempotentInspect
Checks whether the business is ready to emit real ARCA electronic invoices. Returns { ready, missing, guidance } where ready=true means all fiscal fields and the ARCA certificate are configured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by disclosing the return structure {ready, missing, guidance} and the meaning of ready=true, offering context 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?
Two front-loaded sentences: the first states the action, the second explains the return object. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero parameters, the description fully covers behavior, including return values and the condition for ready=true. It is complete for a simple read-only check.
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 with 100% schema coverage, so the baseline is 4. The description does not need to explain parameters and adds no irrelevant 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 uses the specific verb 'Checks' with a clear resource: 'whether the business is ready to emit real ARCA electronic invoices.' This distinguishes it from sibling tools like connection_status or validate_cuit, making the purpose 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 clearly implies the usage context: to check readiness before emitting real ARCA invoices. It does not mention alternatives or exclusions, but no sibling tool offers similar functionality, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_package_profileGet package profileARead-onlyIdempotentInspect
Computes the shipment weight and item breakdown for a package. Accepts a saleId, a list of productIds, or an explicit weightGramsOverride.
| Name | Required | Description | Default |
|---|---|---|---|
| saleId | No | Velora Sale ID (takes priority over productIds). | |
| productIds | No | Array of Velora Product IDs (assumes qty=1 per id). | |
| weightGramsOverride | No | Explicit weight override in grams. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that it computes weight and item breakdown, but it does not disclose behavioral details such as the priority of saleId over productIds (which is only in the schema) or what happens when multiple inputs are provided. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary purpose, and contains zero filler. Every word contributes to understanding what the tool does and what inputs it accepts.
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 provides a high-level output (weight and item breakdown) and lists the input alternatives. However, it lacks clarity on how the inputs interact (e.g., what if saleId and productIds are both provided? The schema says saleId takes priority but the description omits this). Given there is no output schema, a bit more detail about the output structure 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 description coverage is 100%, with each parameter already well-documented (e.g., saleId takes priority, productIds assumes qty=1). The description merely lists the parameter names without adding new meaning or usage details beyond the schema, so it does not compensate above the baseline.
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 ('Computes') and clearly identifies the resource ('shipment weight and item breakdown for a package'). It also enumerates the accepted inputs, making the tool's function unambiguous and distinct from the sibling tools, none of which compute package profiles.
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 statement 'Accepts a saleId, a list of productIds, or an explicit weightGramsOverride' provides clear context on when to use the tool (when you need a package profile and have one of these inputs). However, it does not explicitly mention exclusions or alternatives, so the score is below 5 but above 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_intent_statusGet payment intent statusARead-onlyIdempotentInspect
Checks the current status of a Velora PaymentIntent. Accepts a paymentIntentId OR a customer name.
| Name | Required | Description | Default |
|---|---|---|---|
| customerName | No | Customer name (fuzzy match). | |
| paymentIntentId | No | Velora PaymentIntent id. Optional when customerName is provided. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds the OR relationship between parameters and the 'current status' nuance, but these are also partially reflected in the schema. No additional behavioral details like output format or edge cases are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise, front-loaded sentences with no unnecessary detail. Every phrase contributes to understanding the tool's purpose and input options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no output schema, and annotations cover safety. The description adequately explains the core purpose and the two input modes. A minor gap is the lack of clarity on behavior when neither parameter is provided, but the overall context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters thoroughly, but the description clarifies the OR relationship between paymentIntentId and customerName, which the schema only hints at. This adds meaningful guidance for selecting the correct input.
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 ('Checks the current status') and the resource ('a Velora PaymentIntent'). It also clarifies the two accepted identifier inputs, distinguishing it from sibling tools which mainly handle other domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on how to identify the PaymentIntent (by ID or customer name), which is useful for parameter selection. However, it does not explicitly contrast with sibling tools or state when NOT to use it, though no direct alternatives are apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_suppliersList suppliersARead-onlyIdempotentInspect
Returns all suppliers for this business (up to 50, sorted by name).
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional name substring to filter suppliers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable behavioral details beyond those: the hard limit of 50 results and the sorting order by name. It doesn't contradict annotations and supplements them with operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the core action and key constraints. It is well-sized, front-loaded with the primary purpose, and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, strong annotations, and no output schema, the description provides sufficient context: scope ('for this business'), result limit, ordering, and the ability to search. No further details are necessary for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one optional parameter with a description). The description doesn't add extra meaning beyond the schema, but the schema already fully documents the 'search' parameter as an optional name substring filter. Given the baseline of 3 for high schema coverage, this is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Returns all suppliers for this business' with explicit constraints (up to 50, sorted by name). It distinguishes from siblings by targeting suppliers specifically, while other tools like find_customer or query_catalog handle different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use: it returns a list of suppliers, limited to 50, with optional search filtering implied by the schema. It doesn't explicitly mention alternatives or exclusions, but the purpose is self-evident for a list tool, so it meets the 'clear context, no exclusions' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_business_overviewOpen business overviewARead-onlyIdempotentInspect
ONE widget, two display modes: inline snapshot by default, fullscreen tabs (Cliente 360, Cerrar el día, Reposición de stock, Dashboard de ventas) on demand. Aggregates caja, payments, ventas, reportes, supplier, and customer reads.
| Name | Required | Description | Default |
|---|---|---|---|
| defaultTab | No | Optional fullscreen tab to open into. | |
| customerName | No | Optional customer name to pre-search on the Cliente 360 tab. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds useful behavioral context: it opens a widget with two display modes, the named tabs, and that it aggregates multiple read sources. This goes beyond the annotations, though it does not detail return format or failure modes.
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 sentences with no waste. Key facts are front-loaded: widget, two display modes, tab names, and data sources. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 optional params and no output schema, the description covers purpose, modes, tabs, and data sources. It could be more explicit about what the tool returns (e.g., whether it returns a snapshot or just opens a UI), but the read-only and UI-opening nature is inferable from annotations and tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description itself adds no parameter-specific meaning, but the schema's enum for defaultTab and the description for customerName are sufficient. Baseline 3 applies for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific language: 'ONE widget, two display modes' and lists the fullscreen tabs and aggregated data sources (caja, payments, ventas, reportes, supplier, customer reads). This clearly distinguishes it from sibling open_* tools like open_caja_status or open_catalog_selector, which focus on singular areas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a broad business overview, but does not explicitly state when to use this tool vs alternatives, nor any exclusions. It mentions 'by default' and 'on demand' but lacks direct comparison to sibling tools such as query_sales or find_customer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_caja_statusOpen caja statusARead-onlyIdempotentInspect
Opens a visual widget showing the current shift state and action buttons. Read-only here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds context that the widget includes action buttons but is read-only here, which clarifies behavior beyond the annotations. 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?
Two short, front-loaded sentences with no redundant information. Each sentence earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter widget opener with strong annotations, the description covers the essential function and read-only nature. Adding explicit use-case guidance would improve it, but it is otherwise complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema covers everything trivially. The description confirms that no inputs are needed, aligning with the baseline for 0-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('opens') on a specific resource ('visual widget') with a defined scope ('current shift state and action buttons'). It distinguishes itself from sibling open_* tools by detailing the widget's content and using the read-only qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings like open_cobro_status or open_business_overview. The read-only statement implies a safe viewing scenario, but no alternatives or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_catalog_selectorOpen catalog selectorARead-onlyIdempotentInspect
Opens the catalog selector — a graphical product picker (MCP Apps widget) that shows active products with prices (ARS) and stock. Side-effect-free (no sale, no charge).
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional name filter (case-insensitive substring match). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'Side-effect-free (no sale, no charge)', which reinforces and clarifies the annotations (readOnlyHint=true, destructiveHint=false). It also discloses what the widget shows (active products with prices and stock), adding behavioral context beyond the structured annotations. 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 two sentences, front-loaded with the verb and resource, and contains no filler. It efficiently conveys purpose, content, and safety in a compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description adequately covers purpose, displayed data, and safety. It lacks explicit connection to the sales flow or alternatives, but these are not essential for basic usage. The absence of an output schema is acceptable since the tool opens a UI widget rather than returning structured data.
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 fully describes the single 'search' parameter with 100% coverage (case-insensitive substring match), so the description adds no additional parameter semantics. The description does not mention the parameter, but the schema already provides sufficient detail, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Opens the catalog selector' and identifies it as a 'graphical product picker (MCP Apps widget)', distinguishing it from data-query siblings like query_catalog. It specifies the resource (active products) and the displayed attributes (prices in ARS, stock), making the purpose 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 usage when a graphical, UI-based product picker is needed, but it does not explicitly contrast with alternatives such as query_catalog or state when not to use it. The 'Side-effect-free' note hints at safe usage, but there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_cobro_statusOpen cobro statusARead-onlyIdempotentInspect
Opens the cobro status widget — a read-only view of ONE PaymentIntent's payment state. Accepts paymentIntentId OR customerName.
| Name | Required | Description | Default |
|---|---|---|---|
| customerName | No | Customer name (optional when paymentIntentId is provided). | |
| paymentIntentId | No | Velora PaymentIntent id (optional when customerName is provided). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful scope ('ONE PaymentIntent') but otherwise mostly repeats the read-only nature. No contradictions, but beyond the scope constraint, it does not disclose additional behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core action and then the parameter relationship. No filler, every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no output schema, but the description does not explicitly state that at least one of the two parameters is required. An agent might incorrectly assume it can call with zero arguments since both parameters are optional in the schema. The 'ONE PaymentIntent' phrasing implies a need for identification but this should be stated directly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The description adds the crucial either/or relationship ('Accepts paymentIntentId OR customerName'), which is not fully explicit in the schema since both are marked optional. This helps prevent misuse.
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: 'Opens the cobro status widget — a read-only view of ONE PaymentIntent's payment state.' It uses a specific verb ('Opens'), identifies the resource ('cobro status widget'), and scopes it to a single PaymentIntent. This distinguishes it from sibling tools like get_payment_intent_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by calling it a 'read-only view' and mentioning the parameter relationship, but it does not explicitly state when to use this over alternatives like get_payment_intent_status. There is no mention of when-not-to-use or naming alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_delivery_receiptOpen delivery receiptARead-onlyIdempotentInspect
Opens the comprobante + envío widget — a read-only view of the delivery receipt for a completed cobro. Accepts paymentIntentId, saleId, OR customerName.
| Name | Required | Description | Default |
|---|---|---|---|
| saleId | No | Velora Sale id (optional). | |
| customerName | No | Customer name (optional). | |
| paymentIntentId | No | Velora PaymentIntent id (optional). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly calls it a 'read-only view', which reinforces the readOnlyHint and idempotentHint annotations. It adds context that this opens a widget, which is useful beyond the structured data. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the action, resource, and accepted inputs. No verbose or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a read-only widget opener, the description covers the core behavior, the completed-cobro prerequisite, and the accepted identifiers. Combined with the annotations, this is sufficiently complete for an agent to select and invoke the tool. Missing explicit return/display details, but no output schema is provided.
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 describes all three parameters individually with 100% coverage. The description merely lists the parameter names without adding new semantic detail (e.g., when to use each identifier), so it doesn't improve on the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (opens a widget), the resource (comprobante + envío / delivery receipt), and the scope (for a completed cobro). It distinguishes itself from sibling tools like open_cobro_status or open_sale_confirm by focusing on the receipt view specifically.
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 'for a completed cobro' gives clear context on when to use, and the three accepted identifiers show flexibility. However, it doesn't explicitly name alternatives or state when not to use, so it doesn't fully meet the 'explicit when/when-not' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_onboardingOpen onboarding hubARead-onlyIdempotentInspect
Opens a graphical onboarding hub showing integration status and connect links. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive. The description adds value beyond these by specifying that it opens a graphical hub and what content it displays (integration status, connect links). No contradiction.
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 action and resource, and no wasted words. The read-only note is a useful one-liner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema) and strong annotations, the description fully conveys purpose and behavior. It is clear and sufficient for an agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is trivially 100% covered. The description adds no parameter details, but none are needed; baseline for 0 params is 4.
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 ('Opens'), the specific resource ('graphical onboarding hub'), and what it shows ('integration status and connect links'). This distinguishes it from siblings like open_business_overview or connection_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for viewing onboarding status, but does not mention any exclusions or competing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_payment_link_wizardOpen payment link wizardARead-onlyIdempotentInspect
Opens the payment-link wizard — a graphical form pre-filled with the cobro, for the owner to review and confirm before any money moves. Side-effect-free (no charge).
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Line items (productId + quantity). | |
| customerId | No | Customer ID (optional). | |
| description | Yes | Cobro description (e.g. '3 alfajores'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by clarifying that this is a graphical form, pre-filled with the cobro, and that no money is moved. This goes beyond the raw annotation flags and gives the agent a concrete understanding of the tool's side-effects and UI nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that leads with the action, includes a clarifying em-dash, and ends with an explicit side-effect note. Every phrase earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, rich annotations, and fully described input schema, the description is sufficient for an agent to understand and invoke it correctly. It lacks an explicit statement of what 'cobro' refers to or how it relates to the parameters, but this is minor given the schema covers the fields. Overall it is complete enough for a UI-opening 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 description coverage is 100%; each parameter (description, items, customerId) already has a meaningful description. The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate. No reason to deviate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'opens' with a specific resource ('payment-link wizard') and adds qualifiers ('pre-filled with the cobro', 'for the owner to review and confirm'). This distinguishes it from sibling tools like open_sale_confirm or open_cobro_status, which serve different purposes. It answers what the tool does without vagueness.
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: 'before any money moves' indicates it is a pre-payment review step. It also notes 'side-effect-free (no charge)', signaling it is safe to invoke. However, it does not explicitly name alternatives or exclusion conditions, so it misses the highest tier of direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_pending_ordersOpen pending ordersARead-onlyIdempotentInspect
Opens the pending cobros dashboard — a read-only widget listing PaymentIntents awaiting payment. Side-effect-free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds 'Side-effect-free' and 'read-only widget', which are largely redundant with the annotations. It provides some extra behavior detail by stating it is a dashboard widget, but this is minor and does not substantially extend beyond the structured metadata.
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 with a parenthetical clarification. Every component adds value: the action, the resource, the content, and the safety note. There is no redundancy, fluff, or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only widget, the description fully conveys the purpose and expected content. It does not need to explain return values since there is no output schema, and the mention of 'PaymentIntents awaiting payment' gives the agent sufficient context. No critical information is missing for a tool of this simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so schema coverage is effectively 100%. With no parameters to document, the description correctly omits parameter details, meeting the baseline for zero-parameter tools.
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 'Opens', targets a concrete resource ('pending cobros dashboard'), and clarifies the content ('listing PaymentIntents awaiting payment'). It distinguishes itself from siblings like open_cobro_status or open_business_overview by specifying 'pending cobros', making the purpose clear 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 description provides no explicit guidance on when to use this tool versus alternatives such as open_business_overview or get_payment_intent_status. It does not mention conditions, exclusions, or recommend alternative tools. While the name implies a use case (viewing pending orders), there is no direct comparison or contextual instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_sale_confirmOpen sale confirmationARead-onlyIdempotentInspect
Opens a VISUAL preview of a cash sale — resolved product names, unit prices, quantities, and total — with a confirm button that fires register_sale. Read-only preview itself.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Line items for the sale. | |
| customerId | No | Optional customer ID (omit for anonymous sales). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces that with 'Read-only preview itself,' while adding a critical behavioral fact: the preview includes a confirm button that triggers register_sale, meaning the actual sale mutation happens later. It also discloses that the preview resolves product names, unit prices, and totals, providing context not captured by 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?
Two focused sentences pack in the purpose, key features, and safety note without redundancy. The information is front-loaded with the primary action and specifics follow logically, 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 tool is simple with two params, complete schema explanations, and a clear behavioral description. The description explains what the preview shows and the confirm action, and with no output schema, nothing else is needed for an agent to invoke 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?
The input schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds value by indicating that the preview resolves product names, unit prices, and totals, implying the caller only needs to supply productId and quantity without manually computing prices. This clarifies the intended semantics of the items parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a visual preview of a cash sale with resolved details and a confirm button, distinguishing it from other 'open_*' UI tools such as open_cobro_status or open_pending_orders. The verb 'opens' and the preview/confirm behavior make it 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 description implies the tool is used to preview a sale and obtain user confirmation before register_sale fires, giving clear contextual usage. However, it does not explicitly compare against alternatives or state when not to use it (e.g., when direct registration is desired), so it lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_shipment_prepOpen shipment prepARead-onlyIdempotentInspect
Combines catalog stock/weight data and a live shipping quote into one widget — resolves items, computes total weight, and quotes couriers. Read-only, side-effect-free.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Line items to prepare for shipment. | |
| declaredValue | No | Declared value in ARS for insurance. | |
| originPostalCode | Yes | Origin postal code (4 digits). | |
| destinationPostalCode | Yes | Destination postal code (4 digits). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by detailing the internal steps ('resolves items, computes total weight, quotes couriers') and explicitly reinforces safety ('Read-only, side-effect-free'). While annotations already declare readOnly and non-destructive, the description adds functional richness about what the widget computes and returns. It does not describe error handling, but that is a minor gap given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence explains the functional purpose and a second sentence confirms side-effect-freedom. Every word earns its place, with no redundancy or filler. It is also front-loaded with the primary action, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema, the description adequately conveys the main output (a widget with weight and courier quotes) and the process. It does not explain the exact return structure or error scenarios, but the combination of annotations, schema descriptions, and the description's functional breakdown makes the tool understandable. A complete 5 would require mentioning output fields or potential failure modes, but the description is sufficient for a read-only aggregation widget.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description adds no additional parameter-level semantics beyond what the schema provides (e.g., it implies 'items' are product IDs and quantities, but schema already states this). Baseline of 3 is appropriate as the description does not hinder but also does not enrich the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it 'combines catalog stock/weight data and a live shipping quote into one widget' and specifies the actions ('resolves items, computes total weight, and quotes couriers'). This distinguishes it from siblings like quote_shipping or query_catalog by focusing on the preparation workflow, not just quoting or data lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when a user needs to prepare a shipment, combining catalog data with shipping quotes. It doesn't explicitly name alternatives or exclusions, but the context is clear and distinct from sibling tools. A slightly higher score would require explicit 'use when vs. instead of' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_catalogQuery catalogARead-onlyIdempotentInspect
Lists active products in the business catalog. Returns products sorted by name, each with id, name, price (ARS), costPrice, sku, stock quantity, and weightGrams.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional name filter (case-insensitive substring match). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as safe (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds useful behavioral context: only active products are listed, results are sorted by name, and specific fields (price in ARS, stock, weightGrams) are returned. No contradictions 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?
Two concise, well-structured sentences. The first states the core action, the second enumerates the return details. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only query with one optional parameter and no output schema, the description fully covers expected behavior, including the sort order and returned fields. No missing context that would impede an agent's correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'search' parameter, which includes a clear definition. The description does not add further parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Lists active products in the business catalog' with a specific verb and resource. It also details the sorting order and returned fields, distinguishing it from sibling tools like list_suppliers or query_sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for querying the business catalog of active products, implying usage for catalog lookups. However, it does not explicitly mention exclusions or alternative tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_salesQuery salesBRead-onlyIdempotentInspect
Queries sales metrics from the database: 'ventas_periodo', 'margen', 'ranking_productos', 'por_empleado', or 'historial_cliente'.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date YYYY-MM-DD. Requires 'from'. | |
| from | No | Start date YYYY-MM-DD. Requires 'to'. | |
| limit | No | Max results (default 10, max 50). | |
| preset | No | Preset date range. Mutually exclusive with from/to. | |
| metrica | Yes | Metric to query. | |
| customer_name | No | Customer name or fragment. Only for historial_cliente. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description adds no safety-related behavioral context. Beyond that, the description merely lists metric names already present in the schema enum, and it does not disclose any additional behavior such as required date ranges, return formats, or metric-specific constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that effectively communicates the core purpose and enumerates the metric options without extraneous words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool handles multiple metrics with varying parameter requirements (e.g., customer_name for historial_cliente, mutually exclusive preset vs. from/to), but the description does not explain these relationships or what each metric returns. Since there is no output schema, the description should have provided more context on expected results or usage constraints, making it incomplete for a multi-metric 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 description coverage is 100%, and each parameter is documented there. The description's list of metric values adds little beyond the schema's own enum for 'metrica', so it meets the baseline but does not provide deeper semantic meaning for each metric or how parameters interact (e.g., customer_name only for historial_cliente).
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 action ('Queries sales metrics') and the specific resource ('from the database'), and it enumerates the valid metric names, which differentiates it from sibling tools like query_catalog or caja_consultar_saldo. However, it does not explicitly contrast with those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for sales metric queries by listing the metric options, but it gives no explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. The usage context is only implied through the metric names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_shippingQuote shippingARead-onlyIdempotentInspect
Quotes shipment rates from every active courier configured for the authenticated business and returns options sorted by price ascending.
| Name | Required | Description | Default |
|---|---|---|---|
| weightGrams | Yes | Total shipment weight in grams. | |
| declaredValue | No | Declared value in ARS for insurance. | |
| originPostalCode | Yes | Origin postal code (4 digits). | |
| destinationPostalCode | Yes | Destination postal code (4 digits). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description doesn't need to restate safety. It adds useful behavioral context: it quotes from 'every active courier' and returns options 'sorted by price ascending', which are not conveyed by annotations. This exceeds the baseline given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and includes all key information: scope, authentication context, and output sorting. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has good annotations and a moderate parameter set, the description provides sufficient context: it clarifies the scope (all couriers) and result ordering. Without an output schema, it would be ideal to mention the shape of returned options, but the description still gives a complete enough picture for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions (origin/destination postal codes, weightGrams, declaredValue), so baseline is 3. The description does not add additional parameter-level meaning beyond what the schema provides, but it doesn't need to given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Quotes') and resource ('shipment rates'), and further specifies scope ('every active courier configured for the authenticated business') and output behavior ('sorted by price ascending'). This distinguishes it from sibling tools like track_shipment or open_shipment_prep, making the purpose 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 usage context (quote shipping when comparing courier rates) but does not explicitly state when to use this tool versus alternatives or provide exclusions. No sibling tool is referenced, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_shipmentTrack shipmentARead-onlyIdempotentInspect
Tracks the current status and event history of a shipment by tracking number.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Courier that created the shipment ('andreani', 'oca'). | |
| trackingNumber | Yes | Tracking number returned by the courier at shipment creation time. |
Tool Definition Quality
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 agent knows this is a safe read operation. The description adds that it returns both current status and event history, which is useful behavioral context beyond the annotations. No contradictions 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 a single sentence that is concise and front-loaded with the verb 'tracks'. It contains no redundancy or filler words, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read-only tool with strong annotations, the description adequately conveys the purpose and expected output content (status and event history). It doesn't describe return format in detail, but the annotations and schema cover the essential safety and parameter context, so it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'provider' and 'trackingNumber' already documented in the input schema. The description adds no additional parameter semantics or syntax details, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'tracks', the resource 'shipment', and the scope ('current status and event history by tracking number'). This clearly distinguishes it from sibling tools like quote_shipping or get_package_profile, which focus on quoting or package profiles rather than tracking.
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 implies usage when you have a tracking number and need shipment status, which is sufficient context for the agent. However, it does not explicitly mention when not to use this tool or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cuitValidate CUIT/CUILARead-onlyIdempotentInspect
Validates an Argentine CUIT or CUIL number. Returns parsed components (prefix, body, check digit), person type, and whether the check digit is mathematically correct. Accepts any format: raw digits, hyphened (20-12345678-9), or spaced. This tool runs the REAL check-digit algorithm — not a demo fixture.
| Name | Required | Description | Default |
|---|---|---|---|
| cuit | Yes | CUIT/CUIL in any format (digits, hyphens, or spaces). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context: it returns parsed components, accepts multiple formats, and explicitly states it runs the REAL check-digit algorithm rather than a demo fixture—essential for building trust in correctness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, and every sentence contributes: purpose, output details, input flexibility plus algorithm authenticity. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only validator with a single parameter and strong annotations, the description is complete. It covers what the tool does, what it returns, accepted input formats, and the crucial detail that it uses the real algorithm. An output schema is not necessary for this level of simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the 'cuit' parameter and its accepted formats (digits, hyphens, spaces). The description reiterates this and adds a concrete example ('20-12345678-9'), but it does not meaningfully expand beyond the schema. Since schema coverage is 100%, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Validates an Argentine CUIT or CUIL number' using a specific verb and resource. It also lists the return components (prefix, body, check digit, person type, validity), making it distinct from sibling tools that focus on sales, payments, and other business 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 implies when to use this tool (whenever CUIT/CUIL validation is needed) but does not explicitly mention alternatives or when not to use it. Since none of the sibling tools appear to offer similar validation, the context is clear, though excluding alternatives would be even stronger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityAmaintenanceHosted 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
- AlicenseAqualityFmaintenanceArgentine electronic invoicing (facturación electrónica) MCP Server for ARCA/AFIP. Emit invoices, manage credentials, check delegations, and look up taxpayers. 10 tools.12378MIT
- FlicenseAqualityDmaintenanceLatin American business compliance suite — 28 tools for tax ID validation (CPF, CNPJ, RFC, RUT, CUIT, NIT), banking (PIX, CLABE, CBU), VAT rules, e-invoicing (NF-e, CFDI, DTE), holidays, and labor calendar across Brazil, Mexico, Chile, Argentina, and Colombia.28
- AlicenseAqualityCmaintenanceProvides tools for El Salvador electronic invoicing (DTE), including IVA calculation, document-type catalog, and DUI/NIT validation.4MIT