LatAm Business Tools
Server Details
Latin 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.
- Status
- Unhealthy
- 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.4/5 across 28 of 28 tools scored. Lowest: 3.8/5.
Each tool targets a distinct resource or operation: tax calculations, holiday queries, invoice validation, identifier checks, etc. Overlap is minimal, with tools like 'calculate_vat_amount' and 'calculate_vat_breakdown' serving different levels of detail.
Tool names consistently follow a verb_noun pattern (e.g., get_*, calculate_*, validate_*) with clear, descriptive suffixes. The use of 'latam' suffix on country-agnostic tools is consistent, and per-country holiday tools follow a uniform 'get_[country]_holidays' pattern.
28 tools is on the higher side but appropriate given the broad domain coverage (tax, holidays, validations, invoicing). Each tool serves a distinct purpose, and while a split into sub-servers could be considered, it remains manageable.
The server covers core LatAm business compliance needs: VAT rules, holidays, invoice requirements, payment terms, and identifier validations. Minor gaps exist (e.g., no currency exchange or late payment interest calculation), but the surface is largely comprehensive for its stated purpose.
Available Tools
28 toolscalculate_vat_amount_latamARead-onlyIdempotentInspect
Calculates tax amounts from either a net (excluding tax) or gross (including tax) amount for a given tax rate, with country context for currency and tax label. Returns { country, net_amount, tax_amount, gross_amount, tax_rate, tax_label, currency }. Use when building pricing tools, invoice calculators, or checkout flows across LatAm markets that need to split gross prices into net + tax components.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | The amount to calculate tax for | |
| currency | No | Override currency. Defaults to country currency. | |
| tax_rate | Yes | Tax rate as a percentage. Example: 16 for 16% IVA (Mexico) or 19 for 19% IVA (Chile) | |
| amount_type | Yes | Whether the input amount is net (excluding tax) or gross (including tax) | |
| country_code | Yes | Two-letter ISO country code for currency and context. Example: 'BR', 'MX', 'CL' |
Output Schema
| Name | Required | Description |
|---|---|---|
| country | Yes | |
| currency | Yes | |
| tax_rate | Yes | |
| tax_label | Yes | |
| net_amount | Yes | |
| tax_amount | Yes | |
| gross_amount | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, non-destructive behavior. The description adds the return object fields but no additional behavioral traits beyond what annotations provide. It is consistent 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 very concise, consisting of two sentences. It front-loads the main action and includes the return object. Every sentence adds value with 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?
The tool has an output schema, so the description does not need to explain return values fully. It covers the purpose, usage context, and basic behavior. For a calculation tool with rich schema coverage and annotations, it is complete enough, though hints about error handling or edge cases could be added.
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 input schema already documents all parameters thoroughly. The description does not add significant meaning beyond the schema; it gives an example for tax_rate and mentions country context. 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 calculates tax amounts from net or gross amounts for a given tax rate with country context. It mentions the return object, providing a specific verb and resource. However, it does not explicitly differentiate from the sibling tool calculate_vat_breakdown_latam, which may have a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use when building pricing tools, invoice calculators, or checkout flows across LatAm markets...' It does not mention when not to use it or alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_vat_breakdown_latamARead-onlyIdempotentInspect
Calculates a VAT/IVA breakdown for invoice line items in a given Latin American country, grouping amounts by tax rate and computing totals. For Brazil, returns ICMS, PIS, COFINS breakdown. For Mexico, returns IVA breakdown. For Chile/Argentina/Colombia, returns IVA breakdown. Returns { country, lines_summary, tax_breakdown, subtotal, total_tax, total }. Each line item requires { description, quantity, unit_price, tax_rate }.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | Array of invoice line items | |
| currency | No | Currency code. Example: 'BRL', 'MXN', 'CLP'. Defaults to country currency. | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL' |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| country | Yes | |
| currency | Yes | |
| subtotal | Yes | |
| total_tax | Yes | |
| lines_summary | Yes | |
| tax_breakdown | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description is not required to restate those. The description adds behavioral context by specifying the return object structure (country, lines_summary, tax_breakdown, etc.) and the required input fields, which is valuable 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 paragraph that efficiently conveys purpose, input requirements, and output structure. It is front-loaded with the main action. However, it could be slightly more structured (e.g., bullet points) to improve scannability, earning a 4 rather than 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?
Given the complexity (multiple countries, tax types) and the presence of an output schema, the description adequately covers what the tool does, required inputs, and general output format. It does not detail every possible scenario but is sufficient 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?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the line item structure in detail, providing tax rate examples (e.g., 16 for Mexico IVA), and clarifying the country-specific tax breakdowns, which the schema does not convey.
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 calculates VAT/IVA breakdown for invoice line items in Latin American countries, grouping by tax rate and computing totals. It specifies country-specific tax types (ICMS, PIS, COFINS for Brazil, IVA for others) and the exact return structure. This distinguishes it from the sibling 'calculate_vat_amount_latam', which likely computes a single amount.
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?
While the description explains what the tool does, it lacks explicit guidance on when to use this tool versus alternatives like 'calculate_vat_amount_latam'. The usage context is implied by the breakdown focus, but no direct 'when-to-use' or 'when-not-to-use' is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_working_days_latamARead-onlyIdempotentInspect
Counts the number of working days between two dates (inclusive) for a given Latin American country, excluding weekends and that country's national public holidays (including moveable Easter-based holidays). Returns { country, start_date, end_date, working_days, holidays_excluded }. Supports BR, MX, CL, AR, CO. Use when calculating cross-border SLA periods, invoice payment deadlines, or project timelines that must account for different national holiday calendars across LatAm.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date in YYYY-MM-DD format, inclusive. Example: '2026-01-31' | |
| start_date | Yes | Start date in YYYY-MM-DD format, inclusive. Example: '2026-01-01' | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| country | No | |
| end_date | No | |
| start_date | No | |
| working_days | No | |
| holidays_excluded | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: it excludes weekends and national public holidays (including moveable Easter-based holidays). Annotations already indicate readOnlyHint and idempotentHint, and the description adds specific detail on what is excluded.
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 with three sentences, front-loaded with the core action. It could be slightly more concise, but it efficiently conveys all necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 required params) and the presence of an output schema, the description is complete. It explains the return shape, supported countries, and use cases, leaving no 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 coverage is 100% with descriptions for each parameter. The description adds value by clarifying that dates are inclusive, country codes are two-letter ISO, and listing supported countries (BR, MX, CL, AR, CO). This goes beyond 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 the tool counts working days between two dates for a LatAm country, excluding weekends and public holidays. It lists supported countries and the return shape. This distinguishes it from sibling tools like get_brazil_holidays or get_next_payment_date_latam, which focus on individual holidays or payment dates.
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?
Explicit use cases are provided: cross-border SLA periods, invoice payment deadlines, project timelines. While it does not explicitly state when not to use, the context is clear. No alternative tools are mentioned, but the tool is unique in its functionality among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_argentina_holidaysARead-onlyIdempotentInspect
Returns all Argentine national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Moveable holidays (Carnival, Good Friday) are dynamically calculated. Returns 15 national holidays defined by Argentine law. Use when calculating Argentine business deadlines, invoice payment dates, or scheduling tasks that must avoid non-working days in Argentina.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year as a 4-digit integer. Example: 2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| country | Yes | |
| holidays | Yes | |
| total_holidays | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds context about moveable holidays, exact count of 15 holidays, and return structure, which is useful beyond 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?
Three sentences, no fluff, front-loaded with key information. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. Description completely covers purpose, usage, and parameter for a simple one-param 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% with a clear example. Description adds minimal extra meaning beyond 'for a given year'.
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?
Clearly states it returns Argentine national public holidays for a given year, specifies the structure and fields, and differentiates from sibling tools for other countries. Includes example use cases.
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?
Explicitly states when to use (business deadlines, invoice payment dates, scheduling) and implies country-specific use. Does not explicitly state when not to use or alternatives, but country focus is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brazil_holidaysARead-onlyIdempotentInspect
Returns all Brazilian national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Moveable holidays (Carnival, Good Friday, Corpus Christi) are dynamically calculated using the Easter algorithm. Returns 12 national holidays defined by Brazilian federal law. Use when calculating business deadlines, invoice payment dates, SLA periods, or scheduling tasks that must avoid non-working days in Brazil.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year as a 4-digit integer. Example: 2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| country | Yes | |
| holidays | Yes | |
| total_holidays | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: moveable holidays are dynamically calculated using the Easter algorithm, and it returns exactly 12 national holidays defined by federal law. This goes beyond annotations without 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?
The description is two sentences, each earning its place: the first states the core functionality, the second provides usage guidance. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one required parameter, an output schema (implied by context signals), and the description explains the returned structure and dynamic calculation. For a simple holiday-list tool, this is fully complete and provides all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'year', with a clear description. The description does not add additional parameter-level information, so the baseline score of 3 is appropriate. The description's mention of '12 national holidays' is a return characteristic, not parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns Brazilian national public holidays for a given year as a structured list, specifying the resource, action, and parameter. It is distinct from sibling tools like get_argentina_holidays or get_chile_holidays because it explicitly focuses on Brazil.
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 explicit use cases: 'Use when calculating business deadlines, invoice payment dates, SLA periods, or scheduling tasks that must avoid non-working days in Brazil.' It does not explicitly state when not to use, but the context is clear and aligns with sibling tools that cover other countries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chile_holidaysARead-onlyIdempotentInspect
Returns all Chilean national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Easter-dependent holidays (Good Friday, Holy Saturday) are dynamically calculated. Returns 16 mandatory national holidays defined by Chilean law. Use when calculating Chilean business deadlines, DTE invoice dates, or scheduling tasks that must avoid non-working days in Chile.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year as a 4-digit integer. Example: 2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| country | Yes | |
| holidays | Yes | |
| total_holidays | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the tool is safe. Description adds value by disclosing dynamic Easter calculations and the return format, which go beyond 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?
Three sentences: first states main purpose, second details return fields and dynamic behavior, third lists use cases. No redundancy, well 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 the output schema exists (context signal), the description adequately covers what the tool returns, its dynamic behavior, and its purpose. For a single-parameter tool, it is 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?
The schema has 100% coverage for the single parameter 'year' with clear description. The description adds an example value but does not add significant semantic value beyond 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 it returns all Chilean national public holidays for a given year, specifies the return structure ({ date, name, name_en }), mentions dynamic Easter calculations, and notes 16 mandatory holidays. This distinguishes it from siblings like get_argentina_holidays.
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?
Explicit usage scenarios are given: 'calculating Chilean business deadlines, DTE invoice dates, or scheduling tasks that must avoid non-working days in Chile.' It could be improved by noting when not to use (e.g., for ranges).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_colombia_holidaysARead-onlyIdempotentInspect
Returns all Colombian national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Colombia uses the 'Ley de Puentes' (Law 51/1983) which moves most holidays to the following Monday. Easter-dependent holidays are dynamically calculated. Returns 18 national holidays defined by Colombian law. Use when calculating Colombian business deadlines, factura electrónica payment dates, or scheduling tasks avoiding non-working days in Colombia.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year as a 4-digit integer. Example: 2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| country | Yes | |
| holidays | Yes | |
| total_holidays | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors beyond annotations: returns exactly 18 national holidays, uses Ley de Puentes moving most holidays to Monday, dynamically calculates Easter-dependent holidays. No contradiction with annotations (readOnlyHint, idempotentHint true).
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?
Description is front-loaded with the core action in first sentence, then details fields, legal context, and use cases. Every sentence adds value; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter), full schema coverage, and presence of output schema, the description is complete. It covers purpose, behavior, and use cases adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already describes the year parameter with example. The tool description does not add additional parameter semantics beyond what the schema provides.
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 verb 'Returns' with resource 'all Colombian national public holidays' and clarifies scope ('for a given year', 'structured list'). Differentiates from sibling country-specific holiday tools like get_argentina_holidays.
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?
Explicitly states use cases: calculating Colombian business deadlines, factura electrónica payment dates, scheduling. Mentions the legal basis (Ley de Puentes) and dynamic calculation of Easter holidays. However, does not explicitly contrast with alternatives among siblings (e.g., get_public_holidays_range_latam) but context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_einvoicing_rules_latamARead-onlyIdempotentInspect
Returns the current e-invoicing (electronic invoicing) obligations for a given Latin American country — whether mandatory for B2B/B2G/B2C, the electronic system used, required formats, and key compliance notes. Returns { country, b2b_mandatory, b2g_mandatory, b2c_mandatory, system, formats, mandatory_since, notes }. Supports BR, MX, CL, AR, CO. Use when building invoice generation systems, determining compliance requirements for LatAm customers, or automating invoice submission workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL', 'AR', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| notes | No | |
| system | No | |
| country | No | |
| formats | No | |
| disclaimer | No | |
| b2b_mandatory | No | |
| b2c_mandatory | No | |
| b2g_mandatory | No | |
| mandatory_since | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, so the description does not need to re-state safety. The description adds value by listing the return fields and supported country codes, which are not in annotations. No contradictions.
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 purpose. Could be slightly more concise by omitting the return shape if an output schema exists, but it remains clear 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?
Given the tool is a simple lookup with one parameter, high schema coverage, and annotations present, the description adequately covers supported countries and use cases. It does not explain error handling for unsupported countries, but overall it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents the country_code parameter with an example. The description only implicitly mentions it by referencing 'a given Latin American country' and listing supported codes, but adds little beyond 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 it returns e-invoicing obligations for a Latin American country, listing specific fields and supported countries (BR, MX, CL, AR, CO). This distinguishes it from sibling tools like get_vat_rules_latam or get_invoice_requirements_latam, which cover different aspects.
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?
Explicitly advises when to use: 'Use when building invoice generation systems, determining compliance requirements for LatAm customers, or automating invoice submission workflows.' It does not mention when not to use or alternatives, but the context is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoice_requirements_latamARead-onlyIdempotentInspect
Returns the mandatory fields required on a valid electronic invoice for a given Latin American country, based on official tax authority requirements. Returns { country, invoice_type, mandatory_fields: [], electronic_system, notes }. Covers NF-e/NF-C (Brazil), CFDI 4.0 (Mexico), DTE (Chile), Factura Electrónica (Argentina/Colombia). Use when generating invoices for LatAm customers, validating invoice templates, or building invoice compliance checks in agent workflows. Information provided as reference only — not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL', 'AR', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| notes | No | |
| country | No | |
| disclaimer | No | |
| invoice_type | No | |
| mandatory_fields | No | |
| electronic_system | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotence. Description adds value by specifying the output structure, listing covered countries, and including a disclaimer ('reference only — not legal advice'). No contradictions.
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?
Concise, front-loaded, every sentence serves a purpose: core function, output shape, use cases, disclaimer. No fluff.
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 an output schema present, description still provides complete context: lists output fields, covered countries, and use cases. Adequate for a reference lookup 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 covers 100% of parameter (country_code) with examples. Description reiterates the two-letter ISO code and lists supported countries, but does not add significant extra meaning beyond what the schema already provides.
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 clearly states it returns mandatory fields for electronic invoices in LatAm countries, listing covered systems and countries. However, it does not explicitly differentiate from sibling tools like get_einvoicing_rules_latam or validate_invoice_schema_latam, which have overlapping context.
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 explicit usage scenarios: generating invoices, validating templates, building compliance checks. But lacks when-not-to-use guidance or mention of alternative tools for validation or rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mexico_holidaysARead-onlyIdempotentInspect
Returns all Mexican national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Moveable holidays (Constitution Day, President's Day, Revolution Day) follow the Mexican Monday rule (primer lunes de febrero/tercer lunes de noviembre). Returns 9 mandatory national holidays defined by Mexican law. Use when calculating Mexican business deadlines, CFDI payment dates, or scheduling tasks that must avoid non-working days in Mexico.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Calendar year as a 4-digit integer. Example: 2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | Yes | |
| country | Yes | |
| holidays | Yes | |
| total_holidays | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent, so description focuses on behavioral details: explains the set of 9 mandatory holidays and moveable holiday rules (Monday observance). Adds value beyond 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?
Four sentences, front-loaded with primary action, no redundancy. Each sentence serves a purpose: output structure, moveable holiday rule, holiday count, use cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, description covers output format, holiday selection logic, and intended use cases. Complete and 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 coverage is 100% for the single parameter 'year'. Description adds example and type clarification ('4-digit integer'), but adds minimal extra meaning beyond 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?
Clear verb+resource: 'Returns all Mexican national public holidays for a given year as a structured list.' Explicitly lists output fields and notes moveable holidays, distinguishing from sibling holiday 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?
States specific use cases: 'When calculating Mexican business deadlines, CFDI payment dates, or scheduling tasks...' Could be improved by noting when not to use (e.g., regional holidays not included), but 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_next_payment_date_latamARead-onlyIdempotentInspect
Calculates the next valid payment date for a given Latin American country, skipping weekends and national public holidays (fixed and moveable Easter-based). Supports rules: 'last_working_day_of_month' (salary payment in BR/AR), 'first_working_day_of_month', 'nth_working_day' (e.g. 5th working day for BR salary), 'next_working_day'. Returns { country, reference_date, rule, result_date }. Use when scheduling salary payments, NF-e/CFDI payment due dates, or any automated payment workflow that must avoid non-working days in LatAm.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | For nth_working_day rule: which working day of the month. Example: 5 for 5th working day. | |
| rule | Yes | Payment rule to apply. | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CO' | |
| reference_date | Yes | Reference date in YYYY-MM-DD format. Example: '2026-01-31' |
Output Schema
| Name | Required | Description |
|---|---|---|
| n | No | |
| rule | No | |
| error | No | |
| country | No | |
| result_date | No | |
| reference_date | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is clear. Description adds value by detailing holiday handling (fixed and Easter-based) and that it skips weekends. It also specifies the return object structure. This goes beyond annotations without 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?
Description is concise with 3-4 sentences. Main action is front-loaded. Every sentence adds value: explains function, lists rules, gives examples, and states use cases. 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 the complexity (multiple rules, holiday logic) and the presence of annotations and output schema, the description is thorough. It covers purpose, rules, usage, and return format. Minor room for improvement: could mention country validation or limitations, but overall very 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 coverage is 100%, providing baseline 3. Description enhances understanding by giving examples for each rule (e.g., '5th working day for BR salary') and explaining the 'n' parameter. This adds practical context beyond the schema's enum and type 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?
Description clearly states it calculates the next valid payment date for Latin American countries, skipping weekends and holidays. It lists supported rules with examples (e.g., 'last_working_day_of_month' for BR/AR salary). This differentiates it from siblings like calculate_working_days_latam which may compute working days without payment-specific rules.
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?
Explicitly states use cases: scheduling salary payments, NF-e/CFDI due dates, or any automated payment workflow. While it doesn't mention when not to use or alternatives, the context is clear. A score of 4 reflects good guidance but lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_terms_latamARead-onlyIdempotentInspect
Returns the typical and legal B2B payment terms for a given Latin American country — default payment period, common commercial practices, and late payment rules where defined by law. Returns { country, default_days, common_terms, late_payment_notes, currency, notes }. Supports BR, MX, CL, AR, CO. Use when generating invoices, setting payment due dates, or automating accounts receivable workflows in LatAm markets. Information provided as reference only — not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| notes | No | |
| country | No | |
| currency | No | |
| disclaimer | No | |
| common_terms | No | |
| default_days | No | |
| late_payment_notes | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark tool as read-only and idempotent; description reinforces this and adds that info is reference only, not legal advice. No contradictions.
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?
Concise, informative two-sentence description with return fields and supported countries, no 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?
Description lists return fields and an output schema exists, providing full understanding of what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes the parameter. The description adds example but does not significantly supplement 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 the tool returns B2B payment terms for a given Latin American country, listing output fields and supported countries. It distinguishes from sibling tools like calculate_vat_amount_latam by focusing on payment terms.
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?
Explicit guidance on when to use: generating invoices, setting due dates, automating AR workflows. No explicit when-not, but siblings handle different tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_public_holidays_range_latamARead-onlyIdempotentInspect
Returns all public holidays that fall within a given date range for a specified Latin American country. Returns { country, start_date, end_date, total_holidays, holidays: [{date, name, name_en}] }. Supports BR, MX, CL, AR, CO. Use when calculating SLA periods, project timelines, delivery windows, or any workflow that must skip non-working days across LatAm countries.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date in YYYY-MM-DD format. Example: '2026-12-31' | |
| start_date | Yes | Start date in YYYY-MM-DD format. Example: '2026-01-01' | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| country | No | |
| end_date | No | |
| holidays | No | |
| start_date | No | |
| total_holidays | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds return structure details and implicit safety (no mutations). No contradictions. Provides context beyond annotations without overpromising.
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: first defines behavior and return structure, second lists use cases and supported countries. Every sentence adds value. No redundancy or fluff.
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 simple 3-parameter schema and presence of output structure in description, the tool is fully specified. Includes supported countries, date format, return shape, and usage scenarios. No missing critical context for a read-only holiday lookup.
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 baseline is 3. Description provides example values and format for each parameter, but this closely mirrors schema descriptions. Does not add significant new semantic meaning beyond 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?
Explicitly states it returns public holidays in a date range for a specified Latin American country, listing supported countries (BR, MX, CL, AR, CO). Clearly differentiates from sibling per-country holiday tools by offering a consolidated range query.
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?
States explicit use cases: 'Use when calculating SLA periods, project timelines, delivery windows, or any workflow that must skip non-working days across LatAm countries.' Does not explicitly exclude alternatives like single-country or single-date queries, but purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vat_rules_latamARead-onlyIdempotentInspect
Returns all VAT/IVA rules for a given Latin American country — standard rate, reduced rates, exempt categories, withholding rules, and special regimes. Returns { country, standard_rate, reduced_rates, exempt_categories, withholding, special_regimes, currency, notes }. Supports BR, MX, CL, AR, CO. Brazil returns ICMS/ISS/PIS/COFINS structure. Use when calculating LatAm invoice taxes, determining correct rate for e-commerce checkout, or building tax compliance workflows. Information provided as reference only — not legal or tax advice.
| Name | Required | Description | Default |
|---|---|---|---|
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL', 'AR', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| notes | No | |
| country | No | |
| currency | No | |
| disclaimer | No | |
| withholding | No | |
| reduced_rates | No | |
| standard_rate | No | |
| special_regimes | No | |
| exempt_categories | No |
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 noting the return structure and the disclaimer that information is 'not legal or tax advice,' which exceeds what annotations convey.
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 well-structured sentences: purpose and scope, usage guidance, and disclaimer. Every sentence adds necessary information 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 the tool's simplicity (one parameter, read-only, idempotent) and the presence of an output schema hinted in the description, this is adequately complete. It covers purpose, inputs, output structure, and a caveat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description enhances this by listing the supported country codes explicitly and noting Brazil's special tax structure, providing practical context beyond 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 explicitly states 'Returns all VAT/IVA rules for a given Latin American country' and lists the specific countries supported (BR, MX, CL, AR, CO). This clearly differentiates it from sibling calculation tools like calculate_vat_amount_latam.
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 concrete usage scenarios: 'Use when calculating LatAm invoice taxes, determining correct rate for e-commerce checkout, or building tax compliance workflows.' It does not explicitly mention alternatives, but the sibling tools imply when to switch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_vat_treatment_latamARead-onlyIdempotentInspect
Suggests the likely VAT/IVA treatment for a transaction in Latin American markets based on seller country, buyer country, buyer tax registration status, and operation type. Covers domestic transactions, exports (zero-rated), imports, and cross-border services. Returns { treatment, description, seller_charges_tax, applicable_rate, notes, disclaimer }. Use when building checkout tax logic, invoice generation, or cross-border LatAm compliance workflows. Always verify with a tax advisor for real transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer_country | Yes | Buyer's country ISO code. Example: 'CL', 'CO' | |
| operation_type | Yes | Type of supply | |
| seller_country | Yes | Seller's country ISO code. Example: 'BR', 'MX' | |
| buyer_is_tax_registered | Yes | Whether the buyer is tax registered (B2B) or not (B2C) |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| treatment | Yes | |
| disclaimer | Yes | |
| description | Yes | |
| buyer_country | Yes | |
| operation_type | Yes | |
| seller_country | Yes | |
| applicable_rate | Yes | |
| seller_charges_tax | Yes | |
| buyer_is_tax_registered | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations: it lists return fields, covers various transaction types, and states it's a suggestion (not definitive). Annotations indicate readOnly and idempotent, which are consistent. No contradictions.
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 five sentences, front-loaded with purpose, then coverage, output, use cases, and caution. Every sentence earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema covers all parameters and output schema exists, the description is mostly complete. It covers scope, use cases, and caveats. It could explicitly differentiate from sibling tools, but overall it's 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 coverage is 100%, so baseline is 3. The description reiterates parameter names and provides some context (e.g., 'seller country, buyer country') but adds little beyond the schema descriptions. Examples of ISO codes are useful but not essential.
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 suggests VAT/IVA treatment based on specific inputs, using a specific verb 'suggests'. It covers domestic, exports, imports, and cross-border services, but does not explicitly differentiate from sibling tools like 'get_vat_rules_latam' or 'calculate_vat_amount_latam'.
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 use cases: 'When building checkout tax logic, invoice generation, or cross-border LatAm compliance workflows.' It also includes a caution to verify with a tax advisor. No when-not-to-use or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cbu_arARead-onlyIdempotentInspect
Validates an Argentine CBU (Clave Bancaria Uniforme) — the 22-digit standardized bank account identifier used for electronic transfers in Argentina, as defined by BCRA (Banco Central de la República Argentina). Applies the official weighted modulo-10 checksum algorithm validated in two blocks: the 8-digit bank/branch block and the 14-digit account block. Returns { valid: boolean, cbu: string, bank_code: string } or { valid: false, reason: string }. Use when processing Argentine wire transfers, validating supplier bank accounts, or building Argentine payment flows.
| Name | Required | Description | Default |
|---|---|---|---|
| cbu | Yes | 22-digit Argentine CBU bank account number. Example: '0720309988000019834160' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cbu | No | |
| valid | Yes | |
| reason | No | |
| bank_code | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the algorithm (weighted modulo-10 checksum in two blocks), the specific return fields, and that it returns a reason on failure. Annotations already indicate read-only and idempotent behavior, so the description adds useful but non-critical behavioral detail.
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: purpose, algorithm, and use cases. It is well-structured and front-loaded with the primary function. While slightly verbose, each sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple validation function with one parameter and an output schema implied by the return values, the description is fairly complete. It covers purpose, algorithm, use cases, and return format. Minor omission of specific error types, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context about the validation algorithm and return structure, but does not significantly enhance understanding of the single 'cbu' parameter beyond what the schema example provides.
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 validates an Argentine CBU, specifying the 22-digit identifier, the official checksum algorithm, and the return format. It distinguishes itself from siblings by focusing on Argentina-specific banking validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases: processing Argentine wire transfers, validating supplier bank accounts, building payment flows. While it doesn't name alternatives, the context and sibling tools make it clear this is for Argentine CBU only, providing adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cc_coARead-onlyIdempotentInspect
Validates the format of a Colombian Cédula de Ciudadanía (CC) — the national identity document for Colombian citizens. Verifies that the number is between 6 and 10 digits as required by the Registraduría Nacional. Returns { valid: boolean, cc: string } or { valid: false, reason: string }. Use when processing Colombian individual tax filings, employment contracts, or KYC onboarding flows requiring a verified Colombian citizen ID. Note: checksum validation is not publicly available for CC numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | Yes | Colombian Cédula de Ciudadanía number. Example: '1234567890' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cc | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses the tool's behavior: it validates format (6-10 digits), returns a boolean with the cc string or a reason string on failure, and explicitly notes that checksum validation is not available. Annotations already indicate readOnlyHint=true and idempotentHint=true, and the description adds context about what the tool does not do, enhancing 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 concise with two focused sentences plus a brief note about checksum. Every sentence provides essential information without redundancy. The structure is front-loaded with the core purpose and constraints.
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 format validation tool with one parameter and clear annotations, the description covers all necessary context: what it validates, constraints, return format, limitations, and usage scenarios. The existence of an output schema does not reduce the need for description, but the description still provides sufficient completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter 'cc', including an example. The description adds the critical constraint that the number must be between 6 and 10 digits, which is not in the schema. This provides additional semantic meaning beyond the schema alone, earning a 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 tool validates the format of a Colombian Cédula de Ciudadanía, specifying the number must be between 6 and 10 digits. The verb 'Validates' and resource 'Colombian Cédula de Ciudadanía' are specific and distinct from sibling tools (e.g., validate_cpf, validate_rut_cl) which handle different country documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'when processing Colombian individual tax filings, employment contracts, or KYC onboarding flows requiring a verified Colombian citizen ID.' It also notes a limitation (no checksum validation) but does not mention alternatives or when not to use it, which is acceptable given the tool's focused scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_clabe_mxARead-onlyIdempotentInspect
Validates a Mexican CLABE (Clave Bancaria Estandarizada) — the 18-digit standardized bank account number used for electronic transfers in Mexico, as defined by BANXICO (Banco de México). Applies the official weighted modulo-10 checksum algorithm (weights: 3,7,1 repeating). Returns { valid: boolean, clabe: string, bank_code: string, city_code: string } or { valid: false, reason: string }. Use when processing Mexican wire transfers, validating supplier bank accounts, or building Mexican payment flows in AI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| clabe | Yes | 18-digit Mexican CLABE bank account number. Example: '032180000118359719' |
Output Schema
| Name | Required | Description |
|---|---|---|
| clabe | No | |
| valid | Yes | |
| reason | No | |
| bank_code | No | |
| city_code | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe, reusable operation. Description adds that it applies a specific algorithm (weighted modulo-10 with pattern 3,7,1), providing deeper insight into the validation process.
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?
Concise description spanning three sentences, each adding value: definition, algorithm, return shape, and use cases. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (likely documenting the return structure), use cases, algorithm, and annotations all present, the description covers everything an agent needs 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?
Input schema covers the parameter 'clabe' with a description and example. The description does not add new semantic information beyond the schema, so it achieves the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool validates a Mexican CLABE, specifies it is 18-digit, and mentions the official checksum algorithm. It distinguishes from sibling tools by being specific to Mexico and provides the exact use cases.
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?
Explicitly lists when to use: 'processing Mexican wire transfers, validating supplier bank accounts, or building Mexican payment flows.' Lacks explicit when-not-to-use or alternatives, but context from sibling names makes the targeting clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cnpjARead-onlyIdempotentInspect
Validates a Brazilian CNPJ (Cadastro Nacional da Pessoa Jurídica) — the 14-digit company registration number issued by the Receita Federal. Applies the official two-pass weighted checksum algorithm. Returns { valid: boolean, cnpj: string } for valid CNPJs, or { valid: false, reason: string } for invalid format or failed checksum. Use when processing Brazilian B2B invoices (Notas Fiscais), supplier onboarding, or any compliance workflow requiring a verified Brazilian company tax ID. Offline validation only.
| Name | Required | Description | Default |
|---|---|---|---|
| cnpj | Yes | 14-digit Brazilian CNPJ, with or without formatting. Example: '11.222.333/0001-81' or '11222333000181' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cnpj | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds return format details and offline-only note beyond annotations (readOnly, idempotent). 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?
4 sentences, front-loaded with purpose, each sentence adds value. No fluff.
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?
Output schema exists and description partially covers return values, sufficient for a simple single-parameter validation 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 100% but description adds context: explains input format (with/without formatting) and purpose of 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 it validates a Brazilian CNPJ using the official checksum algorithm, distinguishing it from sibling validation tools like validate_cpf, validate_rut_cl, etc.
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?
Specifies use cases (Brazilian B2B invoices, supplier onboarding, compliance workflows) and notes offline-only validation, but does not explicitly exclude or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cpfARead-onlyIdempotentInspect
Validates a Brazilian CPF (Cadastro de Pessoas Físicas) — the 11-digit individual taxpayer identification number issued by the Receita Federal. Applies the official two-pass modulo-11 checksum algorithm. Returns { valid: boolean, cpf: string } for valid CPFs, or { valid: false, reason: string } for invalid format or failed checksum. Rejects known invalid sequences (all same digits). Use when processing Brazilian e-commerce orders, fintech onboarding, KYC flows, or any compliance workflow requiring a verified Brazilian individual tax ID. Offline validation only — does not query Receita Federal.
| Name | Required | Description | Default |
|---|---|---|---|
| cpf | Yes | 11-digit Brazilian CPF, with or without formatting. Example: '123.456.789-09' or '12345678909' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cpf | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint false. Description adds that it applies official two-pass modulo-11 algorithm, rejects known invalid sequences (all same digits), and returns structured error reasons. No contradictions.
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 clear front-loading of purpose, followed by algorithm, return format, and usage. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, description adequately covers return types and failure reasons. Annotations provide safety profile. Complete for a validation 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 has 100% coverage with parameter description including format examples. Description adds marginal value beyond schema (e.g., '11-digit'), but not enough to raise above baseline 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?
Description clearly states 'Validates a Brazilian CPF' and defines it as the 11-digit individual taxpayer ID. Differentiates from sibling tools like validate_cnpj (company) and validate_cuil (Argentina) by specifying CPF and Brazilian context.
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?
Explicit use cases provided: 'Brazilian e-commerce orders, fintech onboarding, KYC flows, or any compliance workflow requiring a verified Brazilian individual tax ID.' Also notes offline-only limitation. Does not explicitly name alternatives but context with sibling tools makes distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cuilARead-onlyIdempotentInspect
Validates an Argentine CUIL (Código Único de Identificación Laboral) — the labor identification number for individuals in Argentina, used for employment records and social security (ANSES). Uses the same weighted modulo-11 checksum as CUIT. Returns { valid: boolean, cuil: string } or { valid: false, reason: string }. Use when processing Argentine payroll, employment contracts, or any social security compliance workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| cuil | Yes | Argentine CUIL with or without formatting. Example: '20-12345678-9' or '20123456789' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cuil | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, indicating safe read-only nature. The description adds value by disclosing the validation algorithm (weighted modulo-11 checksum) and the return structure (valid boolean, cuil string, or reason string). 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?
The description is three sentences: first defines purpose and target audience, second describes validation method, third lists output shape and usage context. Every sentence adds value; no redundant or empty phrasing. Well structured for quick agent parsing.
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 (1 parameter, simple return, no nested objects), the description is fully self-contained. It explains input acceptance, algorithm, output structure, and typical usage scenarios. The presence of output schema and annotations adds to 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?
Input schema has 1 parameter 'cuil' with example formatting. The description adds meaning by clarifying it accepts both formatted and unformatted strings, and explaining the underlying checksum logic. With 100% schema description coverage, the description goes beyond the schema by providing context.
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 validates an Argentine CUIL, explains what CUIL is (labor identification number for individuals, ANSES), mentions the checksum algorithm (modulo-11 same as CUIT), and describes the output format. It distinguishes itself from sibling tools like validate_cuit by specifying 'for individuals' and the social security context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use when processing Argentine payroll, employment contracts, or any social security compliance workflow.' This provides clear context. It does not include explicit when-not-to-use or alternatives, but the sibling list includes validate_cuit for employer numbers, so a small omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cuitARead-onlyIdempotentInspect
Validates an Argentine CUIT (Código Único de Identificación Tributaria) — the tax identification number for companies, self-employed workers, and legal entities in Argentina, issued by AFIP (Administración Federal de Ingresos Públicos). Applies the official weighted modulo-11 checksum algorithm. Returns { valid: boolean, cuit: string, type: string } or { valid: false, reason: string }. CUIT prefix identifies entity type: 20/23/24/27 for individuals, 30/33/34 for companies. Use when processing Argentine invoices, supplier registration, or AFIP compliance workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| cuit | Yes | Argentine CUIT with or without formatting. Example: '20-12345678-9' or '20123456789' |
Output Schema
| Name | Required | Description |
|---|---|---|
| cuit | No | |
| type | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. Description adds details about the modulo-11 algorithm and the specific output structure (valid, cuit, type, or reason). No contradictions.
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, no fluff. Information is logically ordered: purpose first, then algorithm, then output, then use cases.
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 simple input (one parameter with 100% schema coverage) and output schema described in text, the description fully covers what an agent needs to know. Annotations and output schema (implied) are adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description. Description adds value by explaining the meaning of CUIT prefixes (20/23/24/27 for individuals, etc.), which is beyond the schema's example formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it validates Argentine CUIT, a specific tax ID, and explains the algorithm and return format. It distinguishes from siblings by specifying Argentine context and the exact identifier.
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?
Explicitly states when to use: processing Argentine invoices, supplier registration, or AFIP compliance workflows. However, it does not explicitly mention when not to use or direct alternatives among the many sibling validation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_invoice_schema_latamARead-onlyIdempotentInspect
Validates whether an invoice JSON object contains the mandatory fields required for a valid electronic invoice in a given Latin American country, based on official tax authority requirements (SEFAZ, SAT, SII, AFIP, DIAN). Returns { valid: boolean, country, missing_fields: [], present_fields: [], warnings: [] }. Use when building invoice generation pipelines, pre-submission validation, or compliance checks in agent workflows. Information is reference only — not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| invoice | Yes | Invoice object to validate | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL', 'AR', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| country | No | |
| warnings | No | |
| disclaimer | No | |
| missing_fields | No | |
| present_fields | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint. The description adds behavioral context: it returns a structured result (valid, country, missing/present fields, warnings) and clarifies it is based on official tax authority requirements. 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 sentences, front-loaded with core function, followed by usage guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown but indicated), the description adequately covers purpose, usage, and return structure. No need for further elaboration for a validation 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 100% with descriptions for both parameters (country_code as two-letter ISO, invoice as object). The description adds no additional meaning beyond what the schema provides, so 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 specifies a concrete verb-resource pair: validates invoice JSON for mandatory fields in LatAm countries. It distinguishes from sibling tools by focusing on invoice schema validation rather than entity validation (e.g., validate_cuit, validate_rut_cl).
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?
Explicitly states use cases: 'building invoice generation pipelines, pre-submission validation, or compliance checks in agent workflows.' It also includes a disclaimer about reference-only nature. No explicit when-not-to-use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_nit_coARead-onlyIdempotentInspect
Validates a Colombian NIT (Número de Identificación Tributaria) — the tax identification number for companies and legal entities in Colombia, issued by the DIAN (Dirección de Impuestos y Aduanas Nacionales). Applies the official weighted modulo-11 checksum algorithm with the DIAN verification digit. Returns { valid: boolean, nit: string, verification_digit: string } or { valid: false, reason: string }. Use when processing Colombian electronic invoices (factura electrónica), supplier registration, or DIAN compliance workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| nit | Yes | Colombian NIT with or without verification digit. Example: '900123456-7' or '9001234567' |
Output Schema
| Name | Required | Description |
|---|---|---|
| nit | No | |
| valid | Yes | |
| reason | No | |
| verification_digit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable details beyond the annotations, such as the algorithm used (DIAN verification digit) and the return shape. The annotations already indicate readOnly and idempotent, so the description complements them well.
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 concise sentences with front-loaded key information (validation purpose and algorithm), followed by usage context. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, annotations, output schema present), the description adequately covers what the tool does, how it works, and when to use it. It is complete for the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description includes an example similar to the schema and mentions the nit can include or exclude the verification digit, but does not add significant meaning beyond 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 the tool validates a Colombian NIT using a specific algorithm (weighted modulo-11 checksum). It distinguishes itself from sibling validation tools targeting other countries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions when to use the tool: processing Colombian electronic invoices, supplier registration, or DIAN compliance workflows. It provides clear context but does not explicitly mention when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_pix_keyARead-onlyIdempotentInspect
Validates a Brazilian PIX key — the instant payment identifier used by Brazil's central bank payment system (Banco Central do Brasil). Supports all 4 PIX key types: CPF (11 digits), CNPJ (14 digits), email address, phone number (+55 format), and EVP (random UUID key). Returns { valid: boolean, type: 'cpf'|'cnpj'|'email'|'phone'|'evp', key: string } or { valid: false, reason: string }. Use when processing PIX transfers, validating payment recipients, or building Brazilian payment flows in AI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | PIX key to validate. Can be CPF, CNPJ, email, phone (+5511999999999) or EVP UUID. Example: 'user@email.com' or '+5511987654321' |
Output Schema
| Name | Required | Description |
|---|---|---|
| key | No | |
| type | No | |
| valid | Yes | |
| reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint and idempotentHint. The description adds detail about supported key formats and return structure, which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose, and every part adds value—no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input, output format, and use cases. It does not explicitly reference the output schema but provides enough detail for an agent to understand the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds value by explaining the PIX key types and providing examples, enhancing the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a Brazilian PIX key and lists the four supported types (CPF, CNPJ, email, phone, EVP), distinguishing it from sibling validation tools like validate_cpf or validate_cnpj.
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 explicit usage scenarios: 'when processing PIX transfers, validating payment recipients, or building Brazilian payment flows.' It does not include when-not or alternatives, but the sibling tools cover other validations implicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_postal_code_latamARead-onlyIdempotentInspect
Validates a postal code format for a given Latin American country using the official pattern for that country. Returns { valid: boolean, postal_code: string, country: string, format: string }. Supports BR (8-digit CEP), MX (5-digit CP), CL (7-digit with dash), AR (4-digit legacy or CPA alphanumeric), CO (6-digit). Use in e-commerce checkout validation, address verification, or logistics workflows across LatAm markets.
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes | Postal code to validate. Example: '01310-100' for BR, '06600' for MX, '8320000' for CL | |
| country_code | Yes | Two-letter ISO country code. Example: 'BR', 'MX', 'CL', 'AR', 'CO' |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| format | No | |
| reason | No | |
| country | No | |
| postal_code | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses return format and supported country-specific patterns, adding value beyond annotations (readOnlyHint, idempotentHint). No contradictions; 'Validates' aligns with read-only behavior. The return structure is described in detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, supported countries/formats, use cases. No redundant information. Front-loaded with core action and return type. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (multiple country patterns), the description covers purpose, input details, output structure, supported countries, and use cases. Output schema exists (not shown), so return details are fully covered. Complete for an AI agent to select 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?
Schema coverage is 100% with descriptions and examples for both parameters. Description adds context by listing supported country codes and corresponding format patterns, e.g., 'BR (8-digit CEP), MX (5-digit CP)'. This goes beyond schema to clarify usage.
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 explicitly states the tool validates postal code format for Latin American countries, listing supported countries and their formats. The verb 'validates' and resource 'postal code format' are specific. Sibling tools are different validation types (CPF, CNPJ, RUT, etc.), so no confusion.
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 explicit use cases: 'e-commerce checkout validation, address verification, or logistics workflows across LatAm markets.' Does not explicitly state when not to use, but the focus on LatAm implies geographic restriction. No direct alternatives mentioned, but siblings are all different, so guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_rfc_mxARead-onlyIdempotentInspect
Validates a Mexican RFC (Registro Federal de Contribuyentes) — the tax identification number issued by the SAT (Servicio de Administración Tributaria). Validates format for both individuals (13 characters: 4 letters + 6 digit date + 3 alphanumeric homoclave) and companies (12 characters: 3 letters + 6 digit date + 3 alphanumeric homoclave). Returns { valid: boolean, type: 'individual'|'company', rfc: string } or { valid: false, reason: string }. Use when processing Mexican CFDI invoices, supplier registration, or any Mexican tax compliance workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| rfc | Yes | Mexican RFC with or without spaces. Example: 'ABCD850101ABC' (individual) or 'ABC850101AB1' (company) |
Output Schema
| Name | Required | Description |
|---|---|---|
| rfc | No | |
| type | No | |
| valid | Yes | |
| reason | No |
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 specific return format and validation logic, which goes beyond the annotations without contradicting 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?
Three sentences, structured with purpose first, then details, then usage context. Efficient and well-organized, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool and the presence of an output schema, the description covers all relevant aspects: purpose, parameters, return values, and usage scenario. No 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 has 100% coverage with a description for the rfc parameter. The tool description adds meaning by detailing the expected formats (13 vs 12 characters, alphanumeric homoclave), which enhances understanding beyond 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 the tool validates a Mexican RFC, specifies format for individuals and companies, and includes return structure. It distinguishes from sibling tools by focusing on RFC validation.
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?
Explicitly says when to use: processing CFDI invoices, supplier registration, tax compliance. Provides clear context, though it doesn't state when not to use, which is acceptable given the narrow scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_rut_clARead-onlyIdempotentInspect
Validates a Chilean RUT (Rol Único Tributario) — the tax identification number used by individuals and companies in Chile, issued by the SII (Servicio de Impuestos Internos). Applies the official modulo-11 checksum algorithm with check digit 'K' support. Returns { valid: boolean, rut: string, check_digit: string } or { valid: false, reason: string }. Use when processing Chilean DTE electronic invoices, supplier registration, or any Chilean tax compliance workflow. Accepts formats with or without dots and dash.
| Name | Required | Description | Default |
|---|---|---|---|
| rut | Yes | Chilean RUT with or without formatting. Example: '12.345.678-9' or '12345678-9' or '123456789' |
Output Schema
| Name | Required | Description |
|---|---|---|
| rut | No | |
| valid | Yes | |
| reason | No | |
| check_digit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the modulo-11 algorithm, check digit 'K' support, and the exact return format (valid, rut, check_digit or valid: false, reason). Annotations already indicate readOnly and idempotent, so description adds further detail without 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 sentences, each serving a distinct purpose: first explains what and how, second explains when and formatting. No redundant or vague statements.
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 single-parameter validation tool with an output schema, the description covers purpose, algorithm, use cases, and formatting. It could mention potential error cases but is largely 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 has 100% coverage with one parameter described. The description adds value by explaining acceptable formats (with/without dots and dash) and providing examples, beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool validates a Chilean RUT, specifies the algorithm and return format. It clearly distinguishes from sibling validation tools (e.g., validate_cpf, validate_cuit) by naming the country and identifier.
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 use cases: 'processing Chilean DTE electronic invoices, supplier registration, or any Chilean tax compliance workflow.' It does not explicitly mention when not to use, but 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.
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!