com.contadeo/mcp
NPM · CONTADEO-MCP · 2 COMPONENTS · SCANNED SEP 25
Contadeo: emite y consulta comprobantes electrónicos del SRI (Ecuador) desde asistentes de IA
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 97 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 8 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 13363 tokens (~342/item across 39 items; 39 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 85% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 39 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the com.contadeo/mcp server?
com.contadeo/mcp runs locally as an npm package, launched with npx -y contadeo-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · contadeo-mcp
claude mcp add com-contadeo-mcp -- npx -y contadeo-mcp
{
"mcpServers": {
"com-contadeo-mcp": {
"command": "npx",
"args": [
"-y",
"contadeo-mcp"
]
}
}
} {
"servers": {
"com-contadeo-mcp": {
"command": "npx",
"args": [
"-y",
"contadeo-mcp"
]
}
}
} codex mcp add com-contadeo-mcp -- npx -y contadeo-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-contadeo-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"contadeo-mcp"
],
"enabled": true
}
}
} openclaw mcp add com-contadeo-mcp --command npx --arg -y --arg contadeo-mcp
mcp_servers:
com-contadeo-mcp:
command: "npx"
args: ["-y", "contadeo-mcp"] {
"McpServers": {
"com-contadeo-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"contadeo-mcp"
]
}
}
} assistant mcp add com-contadeo-mcp -t stdio -c npx -a -y contadeo-mcp
{
"mcpServers": {
"com-contadeo-mcp": {
"command": "npx",
"args": [
"-y",
"contadeo-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
- Tool safety: pass → unverified ▼ security
- Stability: 0.33 → unverified ▼ security
- Tool coverage: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 0.24.1 → 0.25.0 functional
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +4
- Stability: unverified → 0.27 ▲ functional
- 6 Sept 26 +15
- Malware scan: unverified → pass ▲ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Analysed npm/contadeo-mcp@0.25.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 97 packages
| Packages resolved | 97 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ajustar_stock Ajustar existencias de un producto ~287
Ajusta las existencias de un producto del inventario por su código: relativo con `ajuste` (+ entra mercadería, - sale) o absoluto con `stock` (fijar el total tras un conteo físico; null = quitar el control de existencias). Prefiere `ajuste`: es atómico frente al descuento automático de las facturas. Inventario ligero: mueve el número actual, NO lleva historial de movimientos (kardex). No lo uses por una venta o devolución con comprobante: la factura y la nota de crédito ya mueven el stock solas.
| Name | Type | Req | Description |
|---|---|---|---|
| ajuste | number | – | Delta relativo: + entra, - sale. Excluyente con `stock`. |
| codigoPrincipal | string | yes | Código del producto en el catálogo |
| cuenta | string | – | Opcional: tenantId de otra de tus empresas. EL CATÁLOGO ES POR EMPRESA (cada una tiene sus clientes y sus productos con sus precios): si vas a facturar por otra empresa, busca y crea SIEMPRE con la M… |
| motivo | string | – | Solo informativo; se devuelve en la respuesta |
| stock | number|null | – | Valor absoluto tras un conteo; null quita el control. Excluyente con `ajuste`. |
No output schema declared.
No examples provided.
anular_comprobante Anular una factura ~300
Marca una factura AUTORIZADA como ANULADA en Contadeo (registro interno; el trámite formal ante el SRI se realiza en su portal). Si la factura ya no admite anulación (fuera del plazo legal o emitida a consumidor final), NO la anules: reversa con una NOTA DE CRÉDITO (preparar_nota_credito / emitir_nota_credito). Una factura con TRANSACCIONES ASOCIADAS vivas —notas de crédito o débito que la modifican y no están anuladas, o comprobantes de retención recibidos conciliados con ella— devuelve 400 con la lista en `problemas`: hay que desarmarlas en orden inverso (primero lo que cuelga, después la factura) y volver a intentarlo; las retenciones las anula el cliente que las emitió, no el titular de la cuenta. Es una acción sensible: confírmala explícitamente con el usuario antes de llamarla.
| Name | Type | Req | Description |
|---|---|---|---|
| comprobanteId | string | yes | UUID de la factura a anular (de listar_comprobantes). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
No output schema declared.
No examples provided.
buscar_clientes Buscar clientes ~150
Lista los clientes del catálogo, opcionalmente filtrados por texto (busca en razón social e identificación). Úsalo para obtener la identificación y datos de un comprador antes de emitir una factura.
| Name | Type | Req | Description |
|---|---|---|---|
| consulta | string | – | Texto a buscar (nombre o cédula/RUC). Vacío = todos. |
| cuenta | string | – | Opcional: tenantId de otra de tus empresas. EL CATÁLOGO ES POR EMPRESA (cada una tiene sus clientes y sus productos con sus precios): si vas a facturar por otra empresa, busca y crea SIEMPRE con la M… |
No output schema declared.
No examples provided.
buscar_productos Buscar productos ~210
Lista los productos/servicios del catálogo, opcionalmente filtrados por texto (código o descripción). Cada producto trae su precio unitario, su tarifa de IVA y sus existencias (`stock`; null = sin control, típico en servicios; puede ser negativo), más categoría y unidad. Los archivados (activo=false) no aparecen. Es un inventario ligero SIN historial de movimientos. Úsalo para armar los detalles de una factura con precios correctos o para responder cuánto queda de un producto.
| Name | Type | Req | Description |
|---|---|---|---|
| consulta | string | – | Texto a buscar (código o nombre). Vacío = todos. |
| cuenta | string | – | Opcional: tenantId de otra de tus empresas. EL CATÁLOGO ES POR EMPRESA (cada una tiene sus clientes y sus productos con sus precios): si vas a facturar por otra empresa, busca y crea SIEMPRE con la M… |
No output schema declared.
No examples provided.
clasificar_proveedor Decidir si un proveedor da derecho a crédito de IVA ~463
Guarda de una vez si los comprobantes de un proveedor dan crédito de IVA, y lo aplica a los que ya tengas cargados. Se decide UNA vez por proveedor, no comprobante por comprobante. PROTOCOLO OBLIGATORIO, igual que al emitir: llama PRIMERO sin `confirmar` — eso NO escribe nada y devuelve el impacto (cuántos comprobantes, cuánto IVA y qué períodos se mueven). MUÉSTRASELO al usuario y espera su confirmación explícita; solo entonces vuelve a llamar con `confirmar: true` y el `confirmToken` que te devolvió. Estás moviendo una cifra que se declara ante el SRI. Si el usuario quiere una excepción para un comprobante suelto, usa `alcance: 'comprobante'` con su `compraId`: eso NO cambia la decisión guardada del proveedor.
| Name | Type | Req | Description |
|---|---|---|---|
| alcance | string | – | Default 'proveedor'. 'comprobante' es la vía de excepción. |
| aplicarA | string | – | Default 'pendientes': reclasifica también lo ya cargado |
| clasificacion | string | yes | con_derecho = el gasto se usa en tu actividad gravada; sin_derecho = no da crédito; proporcional = uso mixto (Contadeo NO calcula el factor 563) |
| compraId | string | – | Obligatorio con alcance 'comprobante' |
| confirmToken | string | – | El que devolvió la previsualización. No lo inventes. |
| confirmar | boolean | – | false o ausente = solo previsualizar, NO escribe |
| creditoIva | number | – | Solo para 'proporcional' por comprobante: el valor lo pone el contador |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | – |
| nota | string | – | – |
| proveedorRuc | string | yes | RUC del proveedor (13 dígitos) |
No output schema declared.
No examples provided.
consultar_ats Borrador del Anexo Transaccional Simplificado (ATS) ~494
Borrador de SOLO LECTURA del Anexo Transaccional Simplificado del período: conteos por sección (compras, ventas, ventas por establecimiento, anulados), los totales de cabecera, el informe de validación contra la ficha técnica del SRI (reglas V1-V17 y N1-N9, con severidad, ruta y mensaje), las filas que quedaron EXCLUIDAS del anexo con su motivo, y las brechas conocidas del producto (lo que le falta a Contadeo, no al anexo). También dice si el período YA tiene un anexo generado y archivado (bloque `snapshot`, resuelto contra el historial) y con qué huella. NUNCA devuelve el XML ni el ZIP del anexo: llevan la identificación de todos los clientes y proveedores del período, y esos solo se descargan desde el panel. El período es mensual (`mes`, 1-12) o semestral (`semestre`: 1=enero-junio, 2=julio-diciembre) — el semestral es una OPCIÓN del contribuyente RIMPE, no un dato de su régimen: confírmalo con el usuario, no lo asumas. Requiere el módulo ATS contratado (402 si la cuenta no lo tiene). Muestra SIEMPRE el campo `disclaimer` de la respuesta.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | yes | Id del emisor (RUC) del que quieres el anexo. Sale de contexto_emision. |
| mes | integer | – | Mes del período (1=enero, 12=diciembre). Pasa esto o `semestre`, no los dos. |
| semestre | integer | – | Semestral del RIMPE: 1 (enero-junio) o 2 (julio-diciembre). Es una opción del contribuyente, no un dato de su régimen. Pasa esto o `mes`, no los dos. |
No output schema declared.
No examples provided.
consultar_calendario_tributario Calendario tributario del emisor ~218
Próximos vencimientos de declaraciones (IVA mensual o semestral RIMPE, renta, retenciones, ATS) según el noveno dígito del RUC y el régimen del emisor, con fecha límite y días restantes. Úsalo cuando el usuario pregunte cuándo le toca declarar o qué vence pronto. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores |
| horizonteDias | integer | – | – |
No output schema declared.
No examples provided.
consultar_comprobante Consultar un comprobante ~181
Devuelve el detalle y estado actual de un comprobante por su ID: estado, número completo, clave de acceso, número de autorización del SRI, fechas, totales y mensajes de error si fue rechazado. Con eventos:true incluye además el timeline paso a paso de la emisión (firmado, enviado, respuesta del SRI, reintentos, contingencia) — úsalo para explicar en qué punto está una emisión lenta o por qué falló.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de la empresa bajo la que se emitió. Si emitiste con `cuenta`, PÁSALA TAMBIÉN AQUÍ o el comprobante no aparece (cada empresa ve solo los suyos). |
| eventos | boolean | – | true = incluye el timeline completo de la emisión |
| id | string | yes | comprobanteId |
No output schema declared.
No examples provided.
consultar_cuenta Consultar cuenta y plan ~154
Devuelve la cuenta de Contadeo del usuario: nombre, ambiente activo (1=Pruebas, 2=Producción) y el plan que RIGE su emisión con el consumo del mes (usoPlan.regimen: 'pool' = empresa patrocinada que emite con el plan y el cupo de otra cuenta; lo contratado por ELLA está en usoPlan.propio — no confundas los dos al responder por el plan). Llámalo al inicio de una sesión de facturación o cuando el usuario pregunte por su plan o su cupo. Si la cuenta administra VARIAS empresas trae además el bloque `multiempresa` con todas y cuál está activa: dilo antes de facturar.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
consultar_f103 Auxiliar F103 (retenciones en la fuente de renta) ~355
Auxiliar de la declaración mensual de retenciones en la fuente de RENTA (formulario 103) que TU emisor practicó al pagar: agrupa por código de retención del SRI (`baseImponible`, `valor` y `cantidad` de líneas por código), más totales y el vencimiento del período (según el catálogo; null si tu perfil no tiene la obligación — hoy solo la tienen los contribuyentes especiales). Excluye la retención de IVA (esa va al F104/ATS, no al 103). No es la declaración oficial: el mapeo código→casillero lo confirma tu contador (`aValidar: true`). Para el detalle línea a línea (con el RUC del sujeto retenido) usa consultar_retenciones. Muestra SIEMPRE el campo `disclaimer` de la respuesta. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
consultar_f104 Borrador F104 (IVA) explicado ~454
Borrador del F104 (declaración de IVA) del período, EXPLICADO. Además de las cifras del servidor (débito 429, crédito 564, impuesto causado 601, retenciones 609, a pagar 902 o crédito 615, vencimiento según régimen: mensual general, semestral RIMPE Emprendedor, null si no declara IVA), la respuesta trae `resumen_ejecutivo` (una frase en español llano: muéstrala), `desglose_explicado` (paso a paso anclado a los casilleros del formulario oficial), `alertas` (observaciones proactivas: ventas con IVA 0, factor 563, crédito del mes anterior sin descontar, compras faltantes: muéstralas TODAS) y `proyeccion_proximo_mes` (qué se arrastra al 605/483 y por qué). No es la declaración oficial. Cuando el usuario pregunte POR QUÉ un número da lo que da, complementa con consultar_libro_ventas / consultar_libro_compras (el detalle comprobante a comprobante); para la versión narrada para principiantes usa explicar_f104; antes de declarar sugiere validar_f104; para '¿qué pasa si...?' usa simular_f104. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período a calcular (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
consultar_libro_compras Libro de compras ~275
Libro de compras del período: comprobantes recibidos de proveedores con sus bases de IVA, retenciones y totales — insumo para el crédito tributario y el ATS. Devuelve las líneas y los totales del mes. Es el detalle detrás del crédito tributario (564) del F104: úsalo cuando el usuario pregunte POR QUÉ su crédito da lo que da o si le falta registrar algún gasto; validar_f104 hace este cruce automáticamente. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
consultar_libro_ventas Libro de ventas ~272
Libro de ventas del período: comprobantes emitidos AUTORIZADOS con sus bases de IVA y totales — insumo para la declaración y el ATS. Devuelve las líneas y los totales del mes. Es el detalle detrás del IVA de ventas (429) del F104: úsalo cuando el usuario pregunte POR QUÉ su débito da lo que da o qué comprobante mueve el total; validar_f104 hace este cruce automáticamente. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
consultar_obligaciones Obligaciones tributarias del emisor ~200
Checklist de obligaciones según el perfil del emisor (régimen, obligado a contabilidad, contribuyente especial, persona natural o sociedad): qué declaraciones y anexos le tocan y cuáles no. Los ítems con aValidar:true están en revisión normativa — díselo al usuario. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores |
No output schema declared.
No examples provided.
consultar_reglas_sri Reglas y catálogos del SRI ~77
Devuelve las tablas de referencia oficiales que aplican a la facturación electrónica en Ecuador: tipos de identificación, tarifas de IVA vigentes, formas de pago, regla de consumidor final y ventana de anulación. Consúltalo en vez de responder de memoria cuando el usuario pregunte por códigos, tarifas o reglas del SRI.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
consultar_retenciones Retenciones practicadas (como agente de retención) ~301
Retenciones que TU emisor practicó a otros en un mes (Renta, IVA, ISD): detalle línea a línea y totales por tipo. Es insumo para el ATS de compras. OJO CON EL SENTIDO: son las retenciones que tú HICISTE al pagar, no las que TE hicieron tus clientes al cobrarles — esas constan en los comprobantes de retención que ellos te emitieron y se descuentan en tu declaración. Si el usuario pregunta por 'lo que me retuvieron', aclárale esa diferencia. Solo contiene datos desde jun-2026. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período (p. ej. 2026). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
consultar_ruc Consultar RUC o cédula ~268
Autocompleta los datos de un comprador a partir de su RUC (13 díg.) o cédula (10 díg.): busca primero en tu directorio y, si no está, en el catastro público del SRI — devuelve razón social, dirección y régimen. Trae `advertencias` (p. ej. contribuyente FANTASMA, inactivo o con transacciones inexistentes): MUÉSTRALAS al usuario antes de facturarle, para evitar rechazos del SRI. Úsalo antes de preparar_factura cuando solo tengas el número; si no hay datos, pide los del comprador o usa crear_cliente.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| identificacion | string | yes | RUC (13 dígitos) o cédula (10 dígitos) del comprador. |
| tipo | string | – | Tipo de identificación: '04' = RUC (13 díg.), '05' = cédula (10 díg.). |
No output schema declared.
No examples provided.
consultar_semaforo_rimpe Semáforo de límites RIMPE ~246
Proyecta los ingresos anuales del emisor (lo facturado en Contadeo: facturas + notas de débito − notas de crédito autorizadas) frente a los límites del RIMPE y devuelve VERDE/AMARILLO/ROJO (o NO_APLICA en régimen general). Úsalo cuando el usuario pregunte cómo va con el límite de su régimen o si le conviene cambiarse. Aclara siempre que solo ve lo facturado en Contadeo. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores |
No output schema declared.
No examples provided.
contexto_emision Contexto para emitir ~289
Devuelve TODO lo necesario para emitir un comprobante: los emisores (RUC, razón social) con sus establecimientos y puntos de emisión, los certificados de firma disponibles por emisor, y el semáforo `listoParaEmitir` con la lista `porCompletar` de requisitos que faltan (firma electrónica, emisor). LLÁMALO SIEMPRE antes de la primera emisión: si `listoParaEmitir` es false, informa al usuario TODO lo que falta de una vez y resuélvelo ANTES de preparar facturas — no avances por prueba y error. Usa `certificadoIdSugerido` y `serieSugerida` de cada emisor para no inventar IDs. Si la cuenta administra VARIAS empresas la respuesta trae el bloque `multiempresa`: di bajo qué empresa y RUC vas a facturar y confírmalo antes de preparar. OJO: para saber CUÁNDO declarar NO calcules con el RUC de esta respuesta — usa consultar_calendario_tributario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
No output schema declared.
No examples provided.
crear_cliente Crear cliente en el catálogo ~220
Da de alta un cliente (comprador) en el catálogo de la cuenta. Valida la cédula/RUC localmente (dígito verificador) antes de enviar. Úsalo cuando buscar_clientes no encuentre al comprador, o para registrar varios clientes que el usuario dicte o pegue.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de otra de tus empresas. EL CATÁLOGO ES POR EMPRESA (cada una tiene sus clientes y sus productos con sus precios): si vas a facturar por otra empresa, busca y crea SIEMPRE con la M… |
| direccion | string | – | – |
| string | – | – | |
| identificacion | string | yes | – |
| razonSocial | string | yes | – |
| telefono | string | – | – |
| tipoIdentificacion | string | yes | '04' RUC, '05' cédula, '06' pasaporte, '08' id. exterior |
No output schema declared.
No examples provided.
crear_producto Crear producto en el catálogo ~306
Da de alta un producto o servicio en el catálogo: código único, nombre, precio unitario (sin IVA) y tarifa de IVA; opcionalmente existencias iniciales, categoría y unidad. Con el catálogo poblado, las facturas se preparan por productoId sin reescribir precios. Úsalo para registrar el inventario que el usuario dicte.
| Name | Type | Req | Description |
|---|---|---|---|
| categoria | string | – | – |
| codigoAuxiliar | string | – | – |
| codigoPrincipal | string | yes | Código único del producto en la cuenta, p. ej. 'CONS-001' |
| cuenta | string | – | Opcional: tenantId de otra de tus empresas. EL CATÁLOGO ES POR EMPRESA (cada una tiene sus clientes y sus productos con sus precios): si vas a facturar por otra empresa, busca y crea SIEMPRE con la M… |
| nombre | string | yes | – |
| precioUnitario | number | yes | Precio SIN IVA |
| stock | number | – | Existencias iniciales. Omite el campo si no controla stock (servicios). Al facturar se descuenta solo. |
| stockMinimo | number | – | Umbral de alerta de bajo stock |
| tarifaCodigo | string | – | Tarifa IVA (Tabla 18). Default '4' = 15%. '0' = 0%. |
| unidadMedida | string | – | – |
No output schema declared.
No examples provided.
descargar_ride Obtener PDF (RIDE) ~109
Devuelve una URL temporal (expira en 1 hora) para descargar el RIDE (PDF) de un comprobante AUTORIZADO. Comparte la URL con el usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de la empresa bajo la que se emitió. Si emitiste con `cuenta`, PÁSALA TAMBIÉN AQUÍ o el comprobante no aparece (cada empresa ve solo los suyos). |
| id | string | yes | comprobanteId |
No output schema declared.
No examples provided.
descargar_xml Obtener XML autorizado ~98
Devuelve una URL temporal (expira en 1 hora) para descargar el XML autorizado por el SRI de un comprobante.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de la empresa bajo la que se emitió. Si emitiste con `cuenta`, PÁSALA TAMBIÉN AQUÍ o el comprobante no aparece (cada empresa ve solo los suyos). |
| id | string | yes | comprobanteId |
No output schema declared.
No examples provided.
emitir_factura Emitir factura electrónica ~532
Emite la factura: se firma con el certificado del emisor y se transmite al SRI. Es un DOCUMENTO TRIBUTARIO — llámalo SOLO después de que el usuario vio el resumen de preparar_factura y confirmó explícitamente ESA factura; nunca emitas amparado en una autorización genérica dada antes de mostrar el resumen. El payload (infoFactura + detalles + idempotencyKey + confirmToken) debe venir de preparar_factura sin modificarlo; este tool re-valida el cuadre y el confirmToken localmente y rechaza si el payload no cuadra, fue modificado a mano o el resumen confirmado expiró. Si un intento anterior falló por red o timeout, reintenta con el MISMO payload: el idempotencyKey evita duplicados y secuenciales quemados. Respuesta 202 (asíncrona): usa esperar_autorizacion después. Para lotes confirmados usa emitir_lote.
| Name | Type | Req | Description |
|---|---|---|---|
| certificadoId | string | yes | UUID del certificado de firma (de contexto_emision) |
| confirmToken | string | – | Token devuelto por preparar_factura; reenvíalo tal cual. Ata la emisión al resumen preparado: bloquea payloads modificados a mano y resúmenes rancios. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| detalles | array | yes | detalles calculados por preparar_factura |
| emisorId | string | yes | UUID del emisor (de contexto_emision) |
| establecimiento | string | yes | Código de 3 dígitos, p. ej. '001' |
| idempotencyKey | string | – | Clave generada por preparar_factura; reenvíala tal cual — un reintento con la misma clave no quema secuencial ni duplica la factura. |
| infoAdicional | array | – | – |
| infoFactura | object | yes | infoFactura calculada por preparar_factura (puede traer fechaEmision YYYY-MM-DD dentro) |
| puntoEmision | string | yes | Código de 3 dígitos, p. ej. '001' |
No output schema declared.
No examples provided.
emitir_lote Emitir lote de facturas ~398
Emite en secuencia las facturas de un lote preparado con preparar_lote (máximo 25). Son DOCUMENTOS TRIBUTARIOS — llámalo SOLO después de que el usuario confirmó explícitamente el resumenAgregado del lote entero; una confirmación por lote basta, pero tiene que existir y ser sobre el resumen mostrado. Primero re-valida el cuadre Y el confirmToken de TODAS localmente: si alguna no cuadra o su token no coincide/expiró, NO se emite ninguna. Luego emite una a una (202 asíncrona); si una falla, continúa con las siguientes y lo reporta — salvo error de credencial, cupo o rate limit (401/402/429), donde se detiene y marca el resto NO_INTENTADA. Después llama a esperar_autorizacion con el array `ids` de las encoladas (timeout sugerido 90). Reintentos: vuelve a llamar solo con las fallidas, conservando cada idempotencyKey (no se duplican facturas ni se queman secuenciales).
| Name | Type | Req | Description |
|---|---|---|---|
| certificadoId | string | yes | – |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| emisorId | string | yes | – |
| establecimiento | string | yes | – |
| facturas | array | yes | El array `facturas` que devolvió preparar_lote, tal cual. |
| puntoEmision | string | yes | – |
No output schema declared.
No examples provided.
emitir_nota_credito Emitir nota de crédito ~417
Emite la nota de crédito: se firma con el certificado del emisor y se transmite al SRI (documento tributario REAL que revierte la factura). Llámalo SOLO tras mostrar el resumen de preparar_nota_credito y recibir confirmación explícita. El payload (infoNotaCredito + detalles + idempotencyKey + confirmToken) debe venir de preparar_nota_credito sin modificarlo; este tool re-valida el cuadre y el confirmToken localmente y rechaza si no cuadra, fue modificado a mano o el resumen expiró. Respuesta 202 (asíncrona): usa esperar_autorizacion después. Reintentos con el MISMO payload: el idempotencyKey evita duplicados.
| Name | Type | Req | Description |
|---|---|---|---|
| certificadoId | string | yes | UUID del certificado de firma (de contexto_emision) |
| confirmToken | string | – | Token de preparar_nota_credito; reenvíalo tal cual. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| detalles | array | yes | detalles calculados por preparar_nota_credito |
| emisorId | string | yes | UUID del emisor (de contexto_emision) |
| establecimiento | string | yes | – |
| idempotencyKey | string | – | Clave de preparar_nota_credito; reenvíala tal cual. |
| infoAdicional | array | – | – |
| infoNotaCredito | object | yes | infoNotaCredito calculada por preparar_nota_credito |
| puntoEmision | string | yes | – |
No output schema declared.
No examples provided.
esperar_autorizacion Esperar autorización del SRI ~331
Hace polling de uno o VARIOS comprobantes hasta que el SRI los resuelva (AUTORIZADO, RECHAZADO, DEVUELTA o ANULADO) o se agote el tiempo. Llámalo inmediatamente después de emitir_factura (parámetro `id`) o de emitir_lote (parámetro `ids` con todos los comprobanteId encolados; timeout sugerido 90). El SRI suele resolver en 5–30 segundos. Si se agota el tiempo NO es un error: la respuesta trae el estado intermedio actual (BORRADOR, FIRMADO, ENVIADO o CONTINGENCIA) — repórtaselo al usuario y vuelve a llamar, o usa consultar_comprobante con eventos:true para ver el timeline completo. Los comprobantes que queden AUTORIZADO traen `descargas` con las URLs temporales del RIDE (PDF) y el XML autorizado: compártelas con el usuario sin llamar a descargar_ride/descargar_xml.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de la empresa bajo la que se emitió. Si emitiste con `cuenta`, PÁSALA TAMBIÉN AQUÍ o el comprobante no aparece (cada empresa ve solo los suyos). |
| id | string | – | comprobanteId devuelto por emitir_factura |
| ids | array | – | comprobanteIds de un lote (emitir_lote) |
| timeoutSegundos | integer | – | Máximo a esperar (default 45; para lotes usa 90–120) |
No output schema declared.
No examples provided.
explicar_f104 Explicar la declaración de IVA (F104) ~488
Explica el F104 casillero por casillero, al nivel de alguien que NUNCA ha declarado: la ecuación completa (IVA cobrado 429 − crédito de compras 564 = impuesto causado 601; menos saldo del mes anterior 605 y retenciones 609 = a pagar 902 o crédito 615), por qué unas ventas altas pueden dar IVA generado $0 (ventas a crédito 480-486 cuyo IVA aparece el mes siguiente en el 483, o ventas tarifa 0%), qué es el factor de proporcionalidad (563) y por qué acumular crédito no es ganar. Dos modos: (a) con `anio` y `mes` narra el borrador de Contadeo de ese período; (b) con `cifras` narra números que el usuario pegó de una declaración (suya o ya presentada en el SRI), con chequeos aritméticos suaves; los casilleros que no reconoce los lista sin inventarles significado. Úsalo cuando el usuario pregunte qué significa un campo, por qué paga lo que paga, o pegue su formulario. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | – | Año del período a explicar (junto con `mes`). Omítelo si pasas `cifras`. |
| cifras | object | – | Cifras pegadas de una declaración: casillero → valor en USD, p. ej. {"429": 184.59, "564": 21.50, "902": 36.27}. Si vienen, se explican ESTAS cifras y no se consulta el borrador. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | – | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
explicar_termino Explicar un término tributario ~282
Glosario del SRI en lenguaje llano: RIDE, clave de acceso, RIMPE, retención, crédito tributario, consumidor final, punto de emisión, firma electrónica, F104, nota de crédito, ambiente de pruebas… ÚSALO SIEMPRE que el usuario pregunte qué significa un término, o cuando detectes que no lo entiende, EN VEZ de explicarlo de memoria: en materia tributaria ecuatoriana un matiz equivocado suena igual de convincente que el dato correcto. Acepta el término tal como lo escribió el usuario, incluso coloquial ('el pdf de la factura', 'me retuvieron'). Sin `termino` devuelve el glosario completo, útil para orientar a alguien que recién empieza. Si un término trae `consultaCon`, llama a esa herramienta para dar la cifra vigente en vez de citar números de memoria.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| termino | string | – | Término a explicar, tal como lo dijo el usuario. Vacío = glosario completo. |
No output schema declared.
No examples provided.
listar_comprobantes Listar comprobantes ~232
Lista los comprobantes emitidos, con filtros opcionales por estado (AUTORIZADO, RECHAZADO, DEVUELTA, ENVIADO, ANULADO...), ambiente y emisor. Úsalo cuando el usuario pregunte por sus facturas o el estado de emisiones recientes. Cada fila trae su `ambiente`: la lista puede mezclar Pruebas y Producción, así que léelo por fila antes de sacar conclusiones sobre lo que el usuario declaró de verdad.
| Name | Type | Req | Description |
|---|---|---|---|
| ambiente | number | – | 1=Pruebas, 2=Producción. Sin filtro salen los dos. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | – |
| estado | string | – | Filtro por estado del comprobante |
| limite | integer | – | Default 20 |
No output schema declared.
No examples provided.
mi_situacion_tributaria ¿Cómo voy? — situación de la cuenta ~325
El panorama COMPLETO de la cuenta en una sola llamada: si está lista para emitir (emisor + firma electrónica vigente), qué declaraciones vencen pronto, el semáforo del límite RIMPE y un `resumen` ya redactado en lenguaje llano. ÚSALO al empezar una sesión, cuando el usuario pregunte '¿cómo voy?', '¿qué me toca este mes?', '¿estoy al día?' o cualquier cosa sobre su estado, en vez de encadenar consultar_cuenta + consultar_obligaciones + consultar_semaforo_rimpe. Lee el campo `resumen` al usuario tal cual antes de entrar en detalles: ya está escrito para alguien sin formación tributaria. Si `listoParaEmitir` es false, resuelve `porCompletar` ANTES de preparar cualquier factura. El consolidado es de UNA empresa: si aparece el bloque `multiempresa`, aclara de cuál estás hablando y que las demás llevan cuentas aparte. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
No output schema declared.
No examples provided.
preparar_factura Preparar factura (calcula y cuadra) ~532
Construye UNA factura LISTA con toda la matemática tributaria hecha por el servidor: calcula líneas, agrupa el IVA por tarifa, cuadra totales con redondeo oficial y valida la identificación del comprador (dígito verificador) y el límite de consumidor final. NO emite nada. LLÁMALO SIEMPRE en lugar de calcular tú los montos; para 2 o más facturas usa preparar_lote. PROTOCOLO: 1) contexto_emision para los IDs, 2) preparar_factura, 3) MUESTRA el campo 'resumen' al usuario y espera su confirmación explícita de ESTA factura — una instrucción general previa no cuenta como confirmación, 4) emitir_factura con el 'payload' EXACTO devuelto (incluye idempotencyKey, que evita duplicados al reintentar, y la fechaEmision dentro de infoFactura si la pediste). Si el usuario indicó una fecha pasada, verifica que aparezca en el resumen antes de pedir la confirmación.
| Name | Type | Req | Description |
|---|---|---|---|
| comprador | object | yes | Comprador: usa clienteId del catálogo O los datos directos. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| fechaEmision | string | – | Solo para emitir con fecha PASADA (YYYY-MM-DD, calendario de Ecuador; la API rechaza futuras y más de 5 días atrás). Omitir = hoy. |
| formaPago | string | yes | Tabla 24: '15'=Compensación de deudas (cruce de cuentas); '16'=Tarjeta de débito; '17'=Dinero electrónico (billetera móvil); '18'=Tarjeta prepago (gift card); '19'=Tarjeta de crédito (Visa/Mastercard… |
| items | array | yes | – |
| propina | number | – | – |
No output schema declared.
No examples provided.
preparar_lote Preparar lote de facturas (calcula y cuadra) ~464
Construye VARIAS facturas de una vez (máximo 25) con toda la matemática hecha por el servidor: cada una se calcula y cuadra igual que en preparar_factura, y además devuelve un resumen AGREGADO (tabla por factura + totales del lote). NO emite nada. El comprador, la forma de pago y la fechaEmision pueden ser comunes al lote o indicarse por factura (el valor por factura REEMPLAZA al común, sin mezclar campos). PROTOCOLO DE CONFIRMACIÓN MASIVA: muestra al usuario el resumenAgregado COMPLETO y pide UNA confirmación explícita del lote entero ANTES de llamar a emitir_lote — nunca emitas ninguna factura del lote sin esa confirmación, aunque exista una instrucción general previa. Si el usuario quiere cambiar una factura, corrige y vuelve a preparar el lote completo. Cada payload trae su idempotencyKey: consérvalos intactos para emitir_lote y para cualquier reintento.
| Name | Type | Req | Description |
|---|---|---|---|
| comprador | object | – | Comprador común a todo el lote. Cada factura puede traer el suyo, que lo REEMPLAZA por completo. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| facturas | array | yes | Máximo 25 facturas por lote; para más, trocea. |
| fechaEmision | string | – | Solo para emitir con fecha PASADA (YYYY-MM-DD, calendario de Ecuador; la API rechaza futuras y más de 5 días atrás). Omitir = hoy. |
| formaPago | string | – | Forma de pago común al lote (Tabla 24); sobrescribible por factura. Guía: efectivo='01'; transferencia, depósito o cheque='20'; tarjeta de crédito='19'. |
No output schema declared.
No examples provided.
preparar_nota_credito Preparar nota de crédito (calcula y cuadra) ~548
Construye una NOTA DE CRÉDITO (comprobante 04) que revierte una factura autorizada — la vía legal para 'anular' cuando ya no aplica la anulación (p. ej. fuera del plazo del día 7). NO emite nada; el servidor hace toda la matemática. Dos modos: (1) REVERSO TOTAL — pasa `comprobanteId` (la factura) y `motivo`, y se acredita el 100% (deriva comprador, referencia y el IVA del original); (2) EXPLÍCITO/PARCIAL — pasa `comprador`, `items` a acreditar, la referencia `documentoModificado` y `motivo`. PROTOCOLO: muestra el `resumen` al usuario y espera confirmación explícita; solo entonces llama a emitir_nota_credito con el 'payload' EXACTO (incluye idempotencyKey y confirmToken). REQUISITO: el SRI RECHAZA una NC a consumidor final (error 69) — exige un receptor identificado (RUC, cédula o pasaporte); una factura emitida a consumidor final NO se puede acreditar.
| Name | Type | Req | Description |
|---|---|---|---|
| comprador | object | – | Comprador de la NC (modo explícito); con comprobanteId se deriva. |
| comprobanteId | string | – | UUID de la factura a acreditar. Sin `items` = reverso TOTAL (100%). Deriva comprador, referencia e IVA del original. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus empresas para EMITIR bajo su RUC (v0.23.0). Debe ser el MISMO en preparar_* y en emitir_*: el confirmToken lo ata y un payload preparado para una empresa NO se puede… |
| documentoModificado | object | – | Referencia a la factura cuando NO usas comprobanteId (modo explícito). |
| fechaEmision | string | – | Solo para emitir con fecha PASADA (YYYY-MM-DD, calendario de Ecuador; la API rechaza futuras y más de 5 días atrás). Omitir = hoy. |
| items | array | – | Líneas a acreditar (crédito parcial/custom). Si se omiten y hay comprobanteId, se hace el reverso TOTAL de la factura. |
| motivo | string | yes | Razón de la nota de crédito (obligatoria en el SRI). |
No output schema declared.
No examples provided.
reenviar_comprobante Reenviar comprobante por email ~174
Reenvía por correo el comprobante (RIDE/XML) de una factura AUTORIZADA a su receptor, o a otro correo si indicas `para`. Útil cuando el cliente dice que no le llegó. Solo aplica a comprobantes ya autorizados por el SRI.
| Name | Type | Req | Description |
|---|---|---|---|
| comprobanteId | string | yes | UUID del comprobante autorizado (de listar_comprobantes). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| para | string | – | Correo destino. Si se omite, se usa el del comprobante. |
No output schema declared.
No examples provided.
registrar_compra Registrar una compra (el IVA lo calcula el servidor) ~382
Registra un comprobante que TE FACTURARON, para que su IVA cuente en el crédito tributario (casillero 564) de tu declaración. Pasa la BASE imponible y el CÓDIGO de tarifa; NUNCA calcules el IVA tú: lo deriva el servidor con el mismo motor que usa al leer un XML. Si tienes el archivo XML del comprobante, es mejor subirlo por el dashboard (Compras): trae la clave de acceso y el desglose exactos. Consulta los códigos de tarifa vigentes con consultar_reglas_sri.
| Name | Type | Req | Description |
|---|---|---|---|
| baseImponible | number | yes | Valor SIN impuestos |
| claveAcceso | string | – | Los 49 dígitos, si los tienes: dan idempotencia |
| codigoPorcentaje | string | yes | Tabla 18 del SRI: '4'=15%, '0'=0%, '7'=exento. Consúltalo, no lo asumas. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | De contexto_emision. Obligatorio si la cuenta tiene varios emisores. |
| fechaEmision | string | yes | Fecha del comprobante (YYYY-MM-DD) |
| proveedorRazonSocial | string | – | – |
| proveedorRuc | string | yes | RUC de quien te facturó (13 dígitos) |
| sustentoTributario | string | – | – |
| tipoComprobante | string | yes | codDoc: '01' factura, '03' liquidación, '04' nota de crédito |
No output schema declared.
No examples provided.
reporte_ventas Reporte de ventas ~181
Agregados de ventas del período (default: mes en curso): conteo por estado, total facturado autorizado, desglose por tipo de comprobante y por mes. Úsalo cuando el usuario pida resúmenes o cifras de ventas. Para comparar ingresos contra los límites del RIMPE usa consultar_semaforo_rimpe (no lo calcules tú).
| Name | Type | Req | Description |
|---|---|---|---|
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| desde | string | – | Fecha YYYY-MM-DD |
| emisorId | string | – | – |
| hasta | string | – | Fecha YYYY-MM-DD |
No output schema declared.
No examples provided.
simular_f104 Simular escenarios del F104 (IVA) ~497
Responde '¿qué pasa si...?' sobre el borrador del F104 del período: 'si facturo $500 más este mes, ¿cuánto más pago?', '¿y si registro $200 más de compras?', '¿y si paso ventas a crédito?'. Devuelve las cifras base vs simuladas, la `diferencia` del total a pagar (902) y del crédito (615), y una `explicacion` en una frase. Montos en USD: las bases del escenario se gravan con la tarifa general VIGENTE del catálogo del servidor (nunca la asumas tú). Es una ESTIMACIÓN educativa: no aplica el factor 563 ni saldos de declaraciones anteriores (605). Muestra SIEMPRE los `supuestos` y el `disclaimer` al usuario. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período base (p. ej. 2026). |
| comprasAdicionales | number | – | Base gravada adicional de COMPRAS del negocio en USD, sin IVA (gastos con factura al RUC que sumarían crédito). |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período base (1=enero, 12=diciembre). |
| retencionAdicional | number | – | Retención de IVA adicional (USD) que esperas que te practiquen tus clientes agentes de retención. |
| ventasACredito | number | – | Base de ventas gravadas de ESTE período que pasarías de contado a crédito: su IVA se difiere al mes siguiente (480-486 / 483). |
| ventasAdicionales | number | – | Base gravada adicional de VENTAS en USD, sin IVA (p. ej. 500 = 'si facturo $500 más'). |
No output schema declared.
No examples provided.
validar_f104 Validar el F104 antes de declarar ~402
Chequeo previo a la declaración: cruza el borrador del F104 contra los libros de ventas y compras del período y detecta inconsistencias ANTES de declarar: IVA del borrador que no cuadra con los libros (¿comprobantes emitidos fuera de Contadeo?), compras sin comprobante autorizado (crédito que no se sustenta), notas de crédito emitidas por compensar (443/453) y gastos posiblemente no registrados. Con `cifrasADeclarar` (casillero → valor: 429, 564, 601, 609, 902, 615) además compara lo que el usuario piensa declarar contra el borrador y explica cada diferencia. Muestra al usuario todos los chequeos en `alerta` o `revisar` y la `conclusion`. NUNCA calcules ni inventes fechas, límites u obligaciones: este tool devuelve los valores vigentes del servidor de Contadeo. Incluye SIEMPRE el campo `disclaimer` de la respuesta en tu mensaje al usuario.
| Name | Type | Req | Description |
|---|---|---|---|
| anio | integer | yes | Año del período a validar (p. ej. 2026). |
| cifrasADeclarar | object | – | Opcional: casillero → valor en USD que el usuario piensa declarar (p. ej. {"429": 184.59, "902": 36.27}) para compararlo contra el borrador. |
| cuenta | string | – | Opcional: tenantId de OTRA de tus cuentas para operar sobre ella (panel del contador). Requiere haber autorizado 'operar todas mis cuentas'. Los tenantId salen del bloque `multiempresa` de consultar_… |
| emisorId | string | – | Solo necesario si la cuenta tiene varios emisores. |
| mes | integer | yes | Mes del período (1=enero, 12=diciembre). |
No output schema declared.
No examples provided.
What is the com.contadeo/mcp server?
com.contadeo/mcp is listed in the public MCP registry as com.contadeo/mcp. Contadeo: emite y consulta comprobantes electrónicos del SRI (Ecuador) desde asistentes de IA. This page covers its npm package (contadeo-mcp).
Is the com.contadeo/mcp server safe to use?
com.contadeo/mcp scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.contadeo/mcp server expose?
com.contadeo/mcp exposes 39 tools: consultar_cuenta, contexto_emision, buscar_clientes, buscar_productos, preparar_factura, and 34 more. Their descriptions and schemas cost roughly 12,112 tokens of context every time the server is loaded.
Is the com.contadeo/mcp server still maintained?
com.contadeo/mcp is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the com.contadeo/mcp server under?
com.contadeo/mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.