Velora LATAM Tools
Server Details
Argentina CUIT/CUIL validation and AFIP fiscal QR generation. Pure, no-auth MCP tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 9 of 9 tools scored.
Each tool has a clearly distinct purpose: QR generation, invoice type description, amount formatting/parsing, IVA splitting, date conversion, and three validation tools (CBU, CUIL, CUIT). Even the two validation tools for CUIL and CUIT are differentiated by person type, avoiding confusion.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., build_afip_qr, validate_cuit). The verbs are varied but appropriate for each action, and there is no mixing of styles or irregularities.
With 9 tools, the set is well-scoped for Argentine fiscal utilities. Each tool serves a specific function without redundancy, fitting the typical range for a focused toolkit.
The tools cover validation, formatting, and QR generation comprehensively. However, the absence of an invoice emission tool (mentioned in the QR tool description) is a minor gap, as the set is otherwise well-rounded for its domain.
Available Tools
9 toolsbuild_afip_qrBuild AFIP QR URLARead-onlyIdempotentInspect
Builds the AFIP-compliant QR URL for an electronic invoice per RG 4291/2018. Encodes the invoice fields into a base64 JSON payload and returns the full URL to embed in the printed QR code. All fields are mandatory per the AFIP spec. Use after emit_invoice to get the CAE and invoice number needed here. IMPORTANT: this tool only constructs the QR URL format per RG 4291/2018 — it does NOT contact AFIP. AFIP validates the CAE (and its authenticity) when the QR is scanned. Passing an invalid or fabricated CAE will produce a valid URL that fails AFIP verification at scan time.
| Name | Required | Description | Default |
|---|---|---|---|
| ctz | Yes | Exchange rate (use 1 for ARS domestic invoices). | |
| cuit | Yes | Business CUIT, 11 digits, no hyphens. | |
| fecha | Yes | Invoice date in YYYY-MM-DD format. | |
| codAut | Yes | 14-digit CAE code returned by WSFE FECAESolicitar. | |
| moneda | Yes | ISO 4217 currency code: 'PES' for ARS per AFIP spec. | |
| ptoVta | Yes | Punto de venta (1–9999). | |
| importe | Yes | Total invoice amount in ARS (2 decimal places). | |
| nroComp | Yes | Sequential invoice number returned by WSFE. | |
| tipoCmp | Yes | Invoice type: 1=Factura A, 6=Factura B, 11=Factura C. | |
| nroDocRec | Yes | Recipient doc number (use 0 for consumidor final). | |
| tipoCodAut | Yes | Authorization type: 'E'=CAE (standard), 'A'=CAEA. | |
| tipoDocRec | Yes | Recipient doc type: 80=CUIT, 86=CUIL, 96=DNI, 99=consumidor final. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly, idempotent, non-destructive hints. Description adds value by explaining it only constructs the URL (no AFIP contact), and that invalid CAE produces a valid URL that fails scan-time verification. 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?
Multi-sentence description is front-loaded with main purpose, then provides details. No unnecessary information, but could be slightly more concise.
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 12 required parameters and no output schema, description adequately covers the tool's behavior and workflow. It explains the output is a full URL and notes the dependency on emit_invoice. Sufficient for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. Description adds that all fields are mandatory per AFIP spec but does not significantly elaborate beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it builds the AFIP-compliant QR URL for an electronic invoice per RG 4291/2018, explaining what it encodes and returns. It distinguishes from siblings (none related to QR building) and specifies it does not contact AFIP.
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 'Use after emit_invoice to get the CAE and invoice number needed here' and warns about invalid CAE leading to verification failure. Does not explicitly state when not to use, but sibling tools are unrelated, so context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_invoice_typeDescribe Invoice TypeARead-onlyIdempotentInspect
Returns A/B/C invoice type given emisor + receptor condicion_iva. Values: RI=Responsable Inscripto, MT=Monotributista, EX=Exento, CF=Consumidor Final. RI→RI=A (CUIT required); RI→CF/EX/MT=B; MT→any=C; CF cannot emit.
| Name | Required | Description | Default |
|---|---|---|---|
| emisorCondicion | Yes | IVA condition of the issuer. | |
| receptorCondicion | Yes | IVA condition of the recipient. |
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 behavioral details about the mapping logic and constraints (e.g., RI→RI requires CUIT, CF cannot emit), which are beyond the annotations. It doesn't contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact: one sentence plus abbreviations and a compact rule string. Every word adds value. The main function is front-loaded, and the rules are efficiently encoded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description sufficiently specifies the return value (A/B/C) and covers all input combinations. Sibling tools are unrelated, so no confusion. The tool is a deterministic lookup, and the description fully defines it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with enum descriptions. The description adds significant value by explaining the abbreviations (RI=Responsable Inscripto, etc.) and providing a concise rule table for each combination, which is not present in 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 A/B/C invoice type based on emisor and receptor condicion_iva. The verb 'Returns' and specific resource 'invoice type' make the purpose unambiguous and distinct from siblings which are unrelated AFIP/formatting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit mapping rules and conditions (e.g., 'CF cannot emit'), which helps the agent decide when to call it. However, it doesn't explicitly state when not to use it or compare to alternatives, though the context is clear given the tool's specificity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
format_arsFormat ARS AmountARead-onlyIdempotentInspect
Formats a numeric amount as an Argentine peso string with 2 decimal places. Example: 1500.5 → '$1.500,50'. Use whenever showing money to an Argentine user.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Numeric ARS amount. Can be positive, negative, or zero. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe, idempotent, non-destructive behavior. The description adds value by detailing the output format (2 decimals, Argentine locale) with an example, confirming no destructive side effects.
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: two sentences covering purpose, example, and use case. No unnecessary words, 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?
For a simple single-parameter tool with annotations, the description is complete. It covers purpose, format, and usage context. Could mention locale specifics but the example suffices.
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 parameter description. The description adds an example and usage context but does not enhance 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?
The description clearly states the specific action: formatting a numeric amount as an Argentine peso string with 2 decimal places. The example further clarifies the output format, and the tool's purpose is distinct from siblings like parse_ar_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?
The description explicitly recommends using the tool 'whenever showing money to an Argentine user.' While it doesn't list exclusions, the context is clear and appropriate, and sibling tool names provide implicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_ar_amountParse Argentine AmountARead-onlyIdempotentInspect
Use this before doing arithmetic on any amount typed by an Argentine user. Parses an Argentine peso amount string — e.g. '$1.234,56', '1234,56', '5.000', '5k' — into a plain number. Handles the Argentine convention where '.' is the thousands separator and ',' is the decimal separator. Also understands k/K suffixes ('5k' → 5000). Returns the parsed number and a normalised display string, or an error if the input cannot be parsed (null result, no number found, or zero). Always call this before operating on amounts received as text from chat or forms.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Raw amount string as typed by the user, e.g. '$1.234,56', '5k', '800,50', '1.000'. May include a leading '$', spaces, or surrounding text — the parser extracts the first numeric token. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint false), the description adds behavioral details: handling Argentine conventions (thousands/comma separators), k/K suffixes, return values (parsed number, display string, or error for null, no number, or zero). It supplements but does not contradict 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 appropriately concise, with the most critical guidance front-loaded. Every sentence serves a purpose: usage context, parsing details, error conditions. No redundant or unnecessary text.
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, no output schema), the description provides complete context: what the tool does, how it handles locale-specific formats, what it returns, and when errors occur. No gaps are evident.
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 'text', but the description adds meaningful context: what the input may include ('$', spaces, surrounding text) and that it extracts the first numeric token. This enriches the schema 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's purpose: parsing Argentine peso amount strings into plain numbers, with specific examples. It effectively distinguishes itself from sibling tools (build_afip_qr, split_iva, validate_cuit), which handle entirely different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs when to use the tool: 'Use this before doing arithmetic on any amount typed by an Argentine user' and 'Always call this before operating on amounts received as text from chat or forms.' This provides clear, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
split_ivaSplit IVAARead-onlyIdempotentInspect
Decomposes an Argentine amount into neto (base imponible) and IVA using any of the 6 ARCA/WSFE alícuotas. Use before building an AFIP invoice to compute ImpNeto and ImpIVA. Alícuotas disponibles (WSFE AlicuotaId): id=3 → 0% (exento) id=4 → 10.5% id=5 → 21% (alícuota general — use this for most products) id=6 → 27% (servicios públicos) id=8 → 5% id=9 → 2.5%
Uses integer-cent arithmetic to guarantee neto + iva === total exactly (AFIP rejects invoices where ImpNeto + ImpIVA ≠ ImpTotal — error 10016). For Monotributistas (Factura C) pass the full amount as neto with alicuotaId=3 — Monotributo does not charge IVA.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | The amount in ARS. Must be greater than zero. | |
| isTotal | No | When true (default), 'amount' is the IVA-inclusive final price and neto is derived. When false, 'amount' is already the neto (base imponible) and total is computed by adding IVA. | |
| alicuotaId | Yes | WSFE AlicuotaId: 3=0% exento, 4=10.5%, 5=21% general, 6=27% servicios públicos, 8=5%, 9=2.5%. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds important behavioral context: it uses integer-cent arithmetic to guarantee neto + iva equals the total exactly, avoiding AFIP error 10016. This provides transparency beyond the 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 front-loaded with the primary purpose, followed by a clear list of alícuotas, then technical details and a special case. While it is comprehensive, it could be slightly more concise without losing information. Overall well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of Argentine tax rules and the complete schema coverage, the description is fairly complete. It covers the alícuotas, the arithmetic guarantee, and a special case. However, it does not specify the exact output format (e.g., object with neto and iva fields), leaving a minor gap for agents expecting precise return structure.
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 the description adds meaning by listing each alícuota with its percentage and usage notes (e.g., 'use this for most products'). It also clarifies the isTotal parameter behavior and the Monotributo use case, adding significant 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 uses a specific verb ('decomposes') and identifies the resource ('an Argentine amount into neto (base imponible) and IVA'). It clearly states the tool's purpose for building AFIP invoices and distinguishes itself from siblings by focusing on IVA splitting.
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 tells when to use the tool ('before building an AFIP invoice') and provides special guidance for Monotributistas. However, it does not explicitly state when not to use it or mention alternatives, though the sibling tools are different enough to imply usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
to_afip_dateConvert to AFIP DateARead-onlyIdempotentInspect
Converts a date to YYYYMMDD format for WSFE (AFIP/ARCA). Uses ART (UTC-3) — matches Buenos Aires local date. Input: ISO-8601 string (e.g. '2026-06-12') or 'today'. Output: '20260612'.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ISO-8601 date string or 'today'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by disclosing the use of ART (UTC-3) timezone and that it matches Buenos Aires local date. Annotations already indicate readOnlyHint=true and idempotentHint=true, but the description provides the behavioral details of the conversion logic. 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?
Very concise: two sentences that front-load the main purpose and then add essential details (timezone, input, output). Every word adds value; no redundancy or excess.
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 no output schema, the description fully covers the required information: input format, accepted values, timezone, output format, and target system. Combined with rich annotations, it provides complete contextual guidance.
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 basic description of the 'date' parameter. The description adds meaningful context: the required format (ISO-8601), the special value 'today', and the output format YYYYMMDD. This goes beyond the schema's description of the parameter type.
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 the tool converts a date to YYYYMMDD format for WSFE (AFIP/ARCA), specifying the target system and format. The name aligns with the action, and the description distinguishes it from sibling tools which handle different operations (QR, format, 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 describes when to use the tool: for converting dates to AFIP format. Provides input examples ('2026-06-12' or 'today') and output format. Does not explicitly state when not to use, but the context is clear enough for a simple conversion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cbuValidate CBUARead-onlyIdempotentInspect
Validates an Argentine CBU/CVU (22-digit bank account code) via two mod-10 block check digits per BCRA Comunicación A 2622. Does NOT confirm the account exists — typo detection only.
| Name | Required | Description | Default |
|---|---|---|---|
| cbu | Yes | CBU/CVU as 22 digits (spaces or hyphens accepted). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds specific validation method (mod-10 per BCRA) and clarifies no account existence check, adding valuable behavioral context 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?
Two sentences, zero wasted words. The description is front-loaded with the core purpose and immediately follows with a critical limitation. 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?
For a single-parameter tool with strong annotations, the description adequately explains behavior and limitations. It omits the return value, but given the tool's simplicity (validation), the output is likely a boolean or error, so this is a minor gap. Still, more detail could be provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes the 'cbu' parameter as 'CBU/CVU as 22 digits (spaces or hyphens accepted).' The description reinforces accepted formatting but does not add additional semantic value beyond the schema. With 100% schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates an Argentine CBU/CVU (22-digit bank account code) using mod-10 check digits per BCRA standard, and explicitly notes it does not confirm account existence. This distinguishes it from siblings like validate_cuil and validate_cuit.
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 guidance: it is for typo detection only, not for verifying account existence. No alternative tools are named, but the limitation is clearly stated, helping the agent decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cuilValidate CUILARead-onlyIdempotentInspect
Validates an Argentine CUIL for natural persons. Same mod-11 algorithm as validate_cuit. Flags company prefixes (30/33/34) with a warning. Returns parsed components and person type. Always check valid.
| Name | Required | Description | Default |
|---|---|---|---|
| cuil | Yes | CUIL in any format (digits, hyphens, or spaces). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and idempotent behavior. The description adds transparency by noting it returns parsed components and person type, and advises to check the 'valid' field. It also mentions warning for company prefixes, which is useful context 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 concise sentences with no redundancy. The most important information is front-loaded: validation purpose and key differentiator.
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 validation tool with one parameter, the description adequately covers purpose, behavior, and output hints. No output schema is needed, but the return of parsed components is mentioned. Contextual completeness is good.
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 the single parameter with 100% coverage, so baseline is 3. The description adds minimal extra meaning (format flexibility, algorithm reference), but does not significantly enhance 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 it validates an Argentine CUIL for natural persons, uses mod-11 algorithm like validate_cuit, and flags company prefixes. It distinguishes from the sibling validate_cuit by specifying the distinction between individuals and companies.
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 hints at when to use this tool versus validate_cuit by noting the same algorithm but different document types. However, it does not explicitly state when not to use it or provide alternative usage contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cuitValidate CUIT/CUILARead-onlyIdempotentInspect
Use this before using a CUIT in an invoice or fiscal operation to confirm it is mathematically valid. Validates an Argentine CUIT or CUIL number. Returns parsed components (prefix, body, check digit), person type, and whether the check digit is mathematically correct. Accepts any format: raw digits, hyphened (20-12345678-9), or spaced. Always returns a result — check the valid field; valid:false means the CUIT is mathematically invalid or has an unrecognized prefix.
| Name | Required | Description | Default |
|---|---|---|---|
| cuit | Yes | CUIT/CUIL in any format (digits, hyphens, or spaces). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds context: 'Always returns a result — check the `valid` field' and mentions return components (prefix, body, check digit, person type), which goes beyond what annotations provide.
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 usage guideline, no unnecessary words. Efficient and clear.
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, validation only), the description covers purpose, usage, input format, and return behavior. No output schema, but the description adequately explains return fields.
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 description for the 'cuit' parameter. The description adds detail on accepted formats (digits, hyphens, or spaces) and specifies that it returns parsed components, enriching the parameter semantics 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 Argentine CUIT/CUIL numbers, specifies the context (before using in invoice/fiscal operation), and differentiates from sibling tools (build_afip_qr, parse_ar_amount, split_iva) which have different purposes.
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 ('Use this before using a CUIT in an invoice or fiscal operation'). While it doesn't mention when not to use or alternatives, the sibling tools are unrelated, so no further guidance is necessary.
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!