Skip to main content
Glama

Ecuador Invoices (factura electrónica / SRI via Datil)

Server Details

Ecuador factura electronica for AI agents - issue and query SRI e-invoices via Datil. Stateless BYO.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 2 of 2 tools scored.

Server CoherenceA
Disambiguation5/5

The two tools are clearly distinct: one creates invoices, the other queries by ID. There is no overlap in their purposes.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (create_invoice, query_invoice), making them predictable and easy to understand.

Tool Count3/5

With only 2 tools, the set feels thin for an invoicing system. While create and query are core, the lack of other common operations like list or cancel makes the scope minimal.

Completeness2/5

The server lacks important operations such as listing invoices or canceling/voiding them. Although create and query are covered, significant gaps remain for a full invoicing workflow.

Available Tools

2 tools
create_invoiceAInspect

Issue an Ecuador electronic invoice (factura electrónica) through Datil, stamped against the SRI with the merchant's own signing certificate. Bring your own Datil credentials via headers x-datil-key (API key) and x-datil-password (your .p12 certificate password). IMPORTANT: defaults to the SRI TEST environment (ambiente 1, no fiscal effect). To emit a REAL invoice you MUST pass environment:"production" (or the owner may set header x-datil-mode:production). Amounts are in US dollars (2 decimals). Each item price is NET; IVA (15% by default, or 0%) is added on top. The emisor (your company RUC, razón social, address, establecimiento/punto de emisión, secuencial) is passed by you — Datil signs and transmits to the SRI. Returns id, clave_acceso and estado.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesLine items. Each: description, price (NET unit price in USD), optional quantity (default 1), optional tax_rate (15 or 0; default 15).
currencyNoCurrency label sent to the SRI. Default "DOLAR" (Ecuador uses USD).
emisor_rucYesYour company RUC — exactly 13 digits (cédula + 001). REQUIRED. This is the issuing taxpayer registered in your Datil account.
secuencialYesSequential invoice number (1–999999999) for this establecimiento/punto_emision. REQUIRED and must be unique/monotonic — you manage it (the SRI rejects duplicates).
environmentNoSRI environment. "test" (default) = ambiente 1, a sandbox invoice with NO fiscal/legal effect. "production" = ambiente 2, a REAL invoice transmitted to the SRI. You must set this to "production" explicitly to bill a real customer.
customer_nameNoBuyer name / razón social. Default "CONSUMIDOR FINAL".
punto_emisionNoEmission point code, 3 digits (e.g. "001"). Default "001".
customer_emailNoBuyer email (Datil emails them the invoice if provided). Optional.
customer_phoneNoBuyer phone. Optional.
payment_methodNoSRI forma de pago code (tabla 24), e.g. "01" cash, "16" debit card, "19" credit card, "20" other via financial system. Default "01".
establecimientoNoEstablishment code, 3 digits (e.g. "001"). Default "001".
customer_addressNoBuyer address. Optional.
emisor_direccionYesYour establishment (matriz) street address. REQUIRED by the SRI.
emisor_razon_socialYesYour company legal name (razón social). REQUIRED.
obligado_contabilidadNoWhether you are required to keep accounting records. Default "NO".
customer_identificationNoBuyer ID number. For a RUC use 13 digits, cédula 10 digits, passport free text. Optional — defaults to the generic final consumer 9999999999999.
emisor_nombre_comercialNoYour trade name (nombre comercial). Optional; defaults to the razón social.
customer_identification_typeNoBuyer ID type (SRI codes: cedula=05, ruc=04, pasaporte=06, consumidor_final=07). Default consumidor_final.
Behavior4/5

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

Annotations indicate mutation (readOnlyHint=false) and non-idempotency. The description adds details: uses Datil credentials via headers, defaults to test, returns id/clave_acceso/estado. No contradictions, and it enriches behavioral understanding 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.

Conciseness5/5

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

Concise at ~150 words, front-loaded with purpose, each sentence adds value (authentication, environment warning, pricing, emisor, return fields). No redundancy.

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?

Given 18 parameters and no output schema, description covers purpose, auth, environment, pricing, emisor, and return fields. Could mention error handling, but still comprehensive for a complex tool.

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% with detailed descriptions. The tool description adds high-level context (NET prices, IVA added on top, test/production semantics) that complements the schema, justifying slightly above baseline 3.

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

Purpose5/5

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

The description clearly states the verb 'Issue' and the resource 'Ecuador electronic invoice (factura electrónica) through Datil, stamped against the SRI'. It distinguishes from sibling 'query_invoice' by its action and specificity.

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?

The description provides clear context: defaults to test environment, requires explicit production setting for real invoices, and explains amounts and IVA. It lacks explicit 'do not use when' but the sibling is for querying, making usage clear.

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

query_invoiceA
Read-only
Inspect

Fetch an Ecuador factura electrónica you emitted, by the Datil invoice id returned from create_invoice. Returns the SRI estado (RECIBIDO = received by Datil/SRI queue, ENVIADO = sent to SRI, AUTORIZADO = authorized/legally valid, NO AUTORIZADO = rejected, DEVUELTO = returned, ERROR), the numero_autorizacion, and any SRI messages. Safe to call anytime.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe Datil invoice id returned by create_invoice.
Behavior5/5

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

The description adds significant context beyond annotations, listing the specific statuses (estados) and other return fields (numero_autorizacion, SRI messages), and confirms safety. No contradiction with readOnlyHint.

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?

The description is two concise sentences: the first states purpose and input, the second explains returns and safety. No wasted words.

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?

For a simple tool with one parameter, annotations, and no output schema, the description fully covers what the tool does, its input, and its output behavior.

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?

With 100% schema description coverage, the description repeats the schema's explanation, providing no additional meaning beyond what the schema already conveys.

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

Purpose5/5

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

The description clearly states the verb 'Fetch' and the resource 'Ecuador factura electrónica' (an invoice), distinguishing it from its sibling tool 'create_invoice' which creates invoices.

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?

The description implies usage after creation by specifying the input id from create_invoice, and declares it safe to call anytime. It does not explicitly state when not to use, but the context of a single sibling makes this clear.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources