Skip to main content
Glama

Server Details

Documentación de Ecuafact API: facturación electrónica del SRI de Ecuador. Sin credenciales.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a clearly distinct purpose: listar_guias (enumerate), buscar_documentacion (search), leer_guia (read), consultar_referencia (OpenAPI), ejemplo_comprobante (examples), explicar_error (error codes). There is minor potential overlap between buscar_documentacion and listar_guias for 'finding docs', but the descriptions clearly differentiate search vs. full listing.

Naming Consistency4/5

Five of six tools follow a clean verb_noun snake_case pattern (buscar_documentacion, consultar_referencia, explicar_error, leer_guia, listar_guias). Only ejemplo_comprobante breaks the pattern as a noun phrase, a minor deviation that stays readable.

Tool Count5/5

Six tools is well-scoped for a documentation/reference server, with each tool earning its place across discovery, reading, reference, examples, and error handling. No redundant or filler tools.

Completeness4/5

The surface covers the full documentation lifecycle: listing guides, searching, reading sections, OpenAPI reference, request examples, and error explanations. Coverage is strong; only minor gaps (e.g., no explicit SDK/auth lookup tool) remain, though guides likely cover those.

Available Tools

6 tools
buscar_documentacionA
Read-onlyIdempotent
Inspect

Busca en la documentacion y devuelve las guias relevantes con un fragmento y su URL. Despues, lee la guia con leer_guia.

ParametersJSON Schema
NameRequiredDescriptionDefault
maximoNoMaximo de resultados (1 a 20, por defecto 8).
consultaYesQue buscar, por ejemplo 'nota de credito', 'firma de webhooks' o 'Idempotency-Key'.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the safety profile is covered. The description adds context the annotations do not: it returns a snippet plus URL per guide and expects a subsequent read via leer_guia, which shapes how the agent should consume and act on the results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: the search action and return format come first, and the follow-up instruction second. Nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of explaining return values, and it does so succinctly (relevant guides with snippet and URL). The intended workflow with leer_guia is stated; only pagination/ordering behavior of results is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with 'consulta' and 'maximo' both documented in the schema including range and default. The description adds no further parameter semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Busca en la documentacion') plus the return shape (guias relevantes con fragmento y URL). It does not differentiate itself from siblings such as consultar_referencia or listar_guias, so an agent must still infer which search-like tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the follow-up step: 'Despues, lee la guia con leer_guia', establishing a clear two-step workflow with leer_guia. It gives no condition for choosing this over consultar_referencia or listar_guias, so the guidance is directional but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consultar_referenciaA
Read-onlyIdempotent
Inspect

Consulta el contrato OpenAPI del API. Sin ruta, lista los endpoints. Con ruta (y metodo), devuelve los parametros, el cuerpo, las respuestas y los esquemas que usa.

ParametersJSON Schema
NameRequiredDescriptionDefault
rutaNoRuta del endpoint como aparece en el listado, por ejemplo '/v1/contribuyentes/{identificacion}/comprobantes' (opcional).
metodoNoMetodo HTTP: GET, POST, PUT o DELETE (opcional; por defecto el unico o el primero).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description adds real behavioral value by describing what is returned in each mode (parameters, body, responses, schemas), which matters since there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core action, then the mode behavior. No filler or redundancy; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full parameter coverage and no output schema, the description reasonably closes the gap by naming the returned content. It omits error/failure behavior and the shape of the endpoint listing, but is largely sufficient to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 goes beyond the per-parameter schema by explaining the interaction semantics: no ruta yields the endpoint listing, and ruta with metodo yields the detailed contract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action on a specific resource: querying the API's OpenAPI contract. It also clarifies the two output modes (list endpoints vs. detail for a route). It does not, however, distinguish itself from siblings like buscar_documentacion or leer_guia.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies how to use it (omit ruta to list endpoints, supply ruta/metodo for details) but gives no explicit guidance on when to choose it over the documentation siblings. Usage is inferable rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ejemplo_comprobanteA
Read-onlyIdempotent
Inspect

Devuelve un JSON de ejemplo valido para emitir un tipo de comprobante (01 factura, 03 liquidacion de compra, 04 nota de credito, 05 nota de debito, 06 guia de remision, 07 retencion), con el enlace a su guia.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoYesTipo de comprobante: 01, 03, 04, 05, 06 o 07, o su nombre (factura, nota de credito...).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false and idempotentHint=true, so the safety profile is covered. The description adds useful output context (returns a valid example JSON plus a link to the guide), but with no output schema it does not describe the JSON structure or any size/rate constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that states the return value first and enumerates the codes compactly. No wasted words, though the parenthetical code list makes it slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only example generator with 100% schema coverage, the description tells the agent what it produces (sample JSON) and that a guide link comes with it. Adequate, though it could say a bit more about what the returned example contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is fully documented in the schema, so the baseline is 3. The description restates the code list with the human-readable names, which mirrors rather than extends the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it returns an example JSON valid for issuing a voucher type, enumerating the supported codes (01 factura ... 07 retencion). This clearly separates it from sibling documentation tools, but it never explicitly names an alternative, so differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the output (you call it when you need a sample payload for a given voucher type). There is no explicit when-to-use, when-not, or routing to siblings such as leer_guia or consultar_referencia, which is a clear gap in a cluster of documentation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explicar_errorA
Read-onlyIdempotent
Inspect

Explica un codigo de error del catalogo de la API (tres digitos, por ejemplo 302 o 401): estado HTTP, mensaje, cuando ocurre, que hacer y si se reintenta. El codigo es el campo 'codigo' del cuerpo de error, no el estado HTTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
codigoYesCodigo del catalogo, por ejemplo '302'.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), so the bar is lower. The description still adds genuine value by disclosing the shape of the answer (estado HTTP, mensaje, cuando ocurre, que hacer, si se reintenta), which matters because there is no output schema. It says nothing about rate limits or catalog coverage limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both load-bearing: the first defines the tool and its output, the second pre-empts the most likely parameter mistake. Front-loaded with the core purpose and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, no output schema, and read-only annotations, the description supplies everything needed: what it returns, what the input means, and how it differs from the HTTP status. Nothing required to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is only one parameter, so the baseline is 3. The description goes further by disambiguating that 'codigo' is the field from the error body, not the HTTP status, and by giving concrete format examples (three digits, 302/401) — exactly the ambiguity an agent would otherwise get wrong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Explica un codigo de error del catalogo de la API') and scopes it precisely to three-digit catalog codes such as 302 or 401. It also enumerates what the explanation contains (HTTP status, message, trigger, action, retry). It does not explicitly distinguish itself from the sibling documentation tools, which keeps it at a 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent should reach for this when it holds an error code from the catalog. There is no statement of when not to use it or which sibling tool covers adjacent questions (e.g., general API docs). Adequate but with a clear gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

leer_guiaA
Read-onlyIdempotent
Inspect

Devuelve una guia en Markdown. Con seccion, devuelve solo la seccion cuyo titulo coincide; las guias largas (por ejemplo las de SDK) conviene leerlas por seccion.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug de la guia, por ejemplo 'emision-01' o 'webhooks'. Tambien acepta su URL.
seccionNoTitulo o parte del titulo de una seccion (opcional), por ejemplo 'Firma' o 'Catalogo de codigos'.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and a closed world, so safety is covered. The description adds that output is Markdown and that section matching is by title, useful since no output schema exists; it omits what happens when the slug or section does not match.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, with the return format stated first and the sectioning behavior immediately after. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-parameter retrieval tool with full schema coverage and no output schema, the description covers return format and section behavior adequately. Only error/not-found behavior is left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (slug accepting slug or URL, seccion as title fragment) are already fully documented. The description mostly restates the schema's matching semantics; the only marginal addition is the guidance about reading long guides per section.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Devuelve una guia en Markdown', plus the section-scoping variant. It clearly separates itself from listar_guias by returning content rather than an index, though it does not name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives contextual advice ('las guias largas conviene leerlas por seccion'), which tells the agent how to use the optional parameter. However, it never says when to prefer this over buscar_documentacion, consultar_referencia, or listar_guias, leaving cross-tool routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_guiasB
Read-onlyIdempotent
Inspect

Lista las guias de la documentacion agrupadas por tema, con su slug, una descripcion corta y su URL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare it read-only, idempotent and closed-world, so the safety profile is covered. The description adds that results are grouped by theme and carry slug/description/URL, which is meaningful since there is no output schema, but it says nothing about ordering, pagination, or volume limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that packs the resource, the grouping, and all three return fields with no padding. Slight deduction only because it never uses its concision to add usage routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter listing tool with no output schema, the description adequately covers both what it lists and what it returns, which is the key missing structure. Annotations handle the behavioral profile, so the remaining gap is only the missing sibling routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing to document and no semantic gap to fill; the baseline for a no-arg tool is 4. Nothing in the description contradicts the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Lista las guias de la documentacion') and even enumerates the returned fields (slug, descripcion corta, URL), which is more than a bare purpose. It does not, however, contrast itself with siblings like leer_guia or buscar_documentacion, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given. It never states that this is the discovery/entry-point tool whose results should be followed by leer_guia, nor how it differs from buscar_documentacion or consultar_referencia. The listing intent is only weakly implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedbuscar_documentacion
    • First observedconsultar_referencia
    • First observedejemplo_comprobante
    • First observedexplicar_error
    • First observedleer_guia
    • First observedlistar_guias

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for SRI electronic invoicing in Ecuador, enabling AI agents to emit invoices, credit notes, retention documents, and more via natural language through the Cobra API.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Hosted MCP server for Argentine commerce: real AFIP/ARCA fiscal invoicing (live CAE), MercadoPago payments, logistics, catalog, cash register and WhatsApp behind one authenticated endpoint. Includes 9 no-auth fiscal validation/formatting tools.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    EU e-invoice validation, as a developer API. Check whether an electronic invoice conforms to EN 16931 — the European standard behind France, Germany, Belgium, Poland and the 2030 ViDA mandate — with a single REST call. Structured JSON errors mapped to the official BR-* business rules. No enterprise sales call required.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to issue Peruvian electronic invoices (factura/boleta) declared to SUNAT via Nubefact. Supports creating, querying, and canceling invoices with automatic IGV tax computation.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources