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.
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.5/5 across 2 of 2 tools scored.
The two tools are clearly distinct: one creates invoices, the other queries by ID. There is no overlap in their purposes.
Both tools follow a consistent verb_noun pattern (create_invoice, query_invoice), making them predictable and easy to understand.
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.
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 toolscreate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Line items. Each: description, price (NET unit price in USD), optional quantity (default 1), optional tax_rate (15 or 0; default 15). | |
| currency | No | Currency label sent to the SRI. Default "DOLAR" (Ecuador uses USD). | |
| emisor_ruc | Yes | Your company RUC — exactly 13 digits (cédula + 001). REQUIRED. This is the issuing taxpayer registered in your Datil account. | |
| secuencial | Yes | Sequential invoice number (1–999999999) for this establecimiento/punto_emision. REQUIRED and must be unique/monotonic — you manage it (the SRI rejects duplicates). | |
| environment | No | SRI 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_name | No | Buyer name / razón social. Default "CONSUMIDOR FINAL". | |
| punto_emision | No | Emission point code, 3 digits (e.g. "001"). Default "001". | |
| customer_email | No | Buyer email (Datil emails them the invoice if provided). Optional. | |
| customer_phone | No | Buyer phone. Optional. | |
| payment_method | No | SRI forma de pago code (tabla 24), e.g. "01" cash, "16" debit card, "19" credit card, "20" other via financial system. Default "01". | |
| establecimiento | No | Establishment code, 3 digits (e.g. "001"). Default "001". | |
| customer_address | No | Buyer address. Optional. | |
| emisor_direccion | Yes | Your establishment (matriz) street address. REQUIRED by the SRI. | |
| emisor_razon_social | Yes | Your company legal name (razón social). REQUIRED. | |
| obligado_contabilidad | No | Whether you are required to keep accounting records. Default "NO". | |
| customer_identification | No | Buyer 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_comercial | No | Your trade name (nombre comercial). Optional; defaults to the razón social. | |
| customer_identification_type | No | Buyer ID type (SRI codes: cedula=05, ruc=04, pasaporte=06, consumidor_final=07). Default consumidor_final. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_invoiceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The Datil invoice id returned by create_invoice. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
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!