Skip to main content
Glama

Server Details

Emite y consulta facturas electrónicas del SIAT de Bolivia con factura.bo.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action: account credits, SIAT system status, invoice lookup by CUF, exchange rate, invoice emission, invoice history, sector listing, and NIT validation. The two SIAT-related tools are differentiated by purpose (system health vs. taxpayer NIT status), and invoice lookup versus invoice listing is clear from the descriptions.

Naming Consistency5/5

All tool names follow a consistent Spanish infinitive-verb + noun pattern in snake_case: consultar_*, listar_*, emitir_*, validar_*. Singular/plural distinctions (consultar_factura vs. listar_facturas) are used semantically rather than inconsistently.

Tool Count5/5

Eight tools is well scoped for a focused Bolivian e-invoicing server, covering emission, lookup, history, validation, reference data, and account status. Each tool has a clear role and there is no obvious bloat.

Completeness3/5

The core invoice lifecycle is partially covered: emission, listing, and lookup exist, but there is no tool for formal invoice annulment or credit notes, even though emitir_factura warns that reversal requires anulación formal. Additionally, listar_sectores advertises 15 fiscal document types while emitir_factura only supports Sector 1, leaving a notable emission gap.

Available Tools

8 tools
consultar_creditosBInspect

Estado de la cuenta del usuario en factura.bo: créditos de facturación disponibles, modalidad y estado.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It implies a read-only query via 'consultar' and enumerates the returned fields, but says nothing about authentication requirements, whether the account is scoped to the caller, or rate limits. It is adequate but leaves the behavioral profile largely implicit.

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 names the domain and enumerates the returned fields. No filler or 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?

For a zero-parameter, no-output-schema read tool, the description sufficiently explains what the call returns (credits, modality, status). Without annotations, a brief note on permissions or scope would round it out, but nothing critical is missing for correct invocation.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies; the description correctly describes a no-argument account-state query.

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 states a specific resource: the user's account state in factura.bo, enumerating the three fields returned (available billing credits, modality, and status). It is distinguishable from siblings like consultar_factura or consultar_estado_siat, though it doesn't explicitly contrast with them.

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?

There is no explicit guidance on when to use this tool versus alternatives such as consultar_factura, nor any note on prerequisites (e.g., checking credits before emitir_factura). Usage can only be inferred from the verb 'consultar' and the resource it names.

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

consultar_estado_siatAInspect

Estado en tiempo real del SIAT de Impuestos Nacionales de Bolivia (¿está caído el SIAT?): OPERATIVO, DEGRADADO o CAIDO, con latencia y uptime de 30 días. No requiere autenticación.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose two real traits: the call is unauthenticated ('No requiere autenticación') and the response includes latency plus a 30-day uptime figure. It does not mention rate limits, caching, or data freshness beyond 'tiempo real', which keeps it from a 5.

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?

One sentence, front-loaded with the resource and the availability question, then the concrete return values and the auth note. Every clause adds information; nothing is 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?

No output schema exists, yet the description enumerates the possible status states and the accompanying metrics (latency, 30-day uptime), which is what an agent needs to interpret results. For a no-param read-only probe, nothing material 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?

The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline for a zero-param tool applies. The description does not needlessly restate schema content.

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 names the specific resource ('SIAT de Impuestos Nacionales de Bolivia'), the verb ('Estado en tiempo real') and the exact return domain (OPERATIVO, DEGRADADO or CAIDO). It is trivially distinguishable from siblings like consultar_factura or consultar_tipo_de_cambio, which target different resources entirely.

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?

'¿está caído el SIAT?' frames the concrete use case — a health/availability check — so an agent knows when this tool applies. It does not state explicit exclusions or point to alternatives, but for a zero-parameter status probe no realistic alternative exists among the siblings.

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

consultar_facturaAInspect

Datos completos de una factura por su CUF: estado, montos, enlaces de descarga del PDF y XML.

NameRequiredDescriptionDefault
cufYesCódigo Único de Factura.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It does useful work by enumerating the returned payload (estado, montos, download links) in the absence of an output schema, but it never states that this is a read-only operation, what happens if the CUF is unknown, or any auth/rate-limit behavior.

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?

A single front-loaded sentence that states the lookup key first and then the payload. No filler and 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?

For a single-parameter read lookup with no output schema, the description compensates by listing the return fields an agent can expect. It falls slightly short on error behavior (invalid or nonexistent CUF) and on the absence of an explicit read-only statement.

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?

Only one parameter (cuf) and the schema already describes it at 100% coverage as 'Código Único de Factura'. The description adds no format, length, or validation detail beyond what the schema provides, so it is a baseline 3.

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 (consultar/datos completos) and resource (factura), scoped by the CUF key and enumerating the returned fields (estado, montos, enlaces PDF/XML). It implicitly separates itself from listar_facturas by being a single-invoice lookup by CUF, but never names that sibling to make the distinction explicit.

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: the phrase 'por su CUF' signals you must already hold a CUF, and the field list hints at when this tool beats a listing. There is no explicit when-to-use/when-not guidance and no mention of listar_facturas or consultar_estado_siat as alternatives.

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

consultar_tipo_de_cambioAInspect

Tipo de cambio oficial del día del Banco Central de Bolivia: dólar (USD/BOB) y UFV. No requiere autenticación.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden and does disclose key traits: it is a read-only consultation of the official daily rate, it returns two specific series (USD/BOB and UFV), and it needs no authentication. It omits rate limits and the exact response shape, but for a zero-parameter lookup that is a modest gap.

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?

One line identifies the source and the two quoted values, a second line removes the auth question. Both sentences earn their place and the essential information is front-loaded.

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-param, no-output-schema lookup, the description covers the source, the currencies returned, and the auth requirement, which is enough for an agent to call it correctly. It could additionally note whether the result includes a date/fetch timestamp, but nothing blocking 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?

The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly signals that the tool is parameterless by scoping itself to the day's official rate.

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 names a specific resource (official exchange rate from Banco Central de Bolivia), a scope (the day's rate), and the exact values returned (USD/BOB and UFV). This is clearly distinguishable from all siblings, which handle invoicing, credits, NIT validation, and SIAT status.

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?

"No requiere autenticación" removes a practical barrier and "del día" implies a daily refresh, but there is no explicit statement of when to call this versus reusing a cached rate, nor any reference to alternatives. Usage is implied by the domain rather than stated.

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

emitir_facturaAInspect

Emite una factura fiscal de Compra y Venta (Sector 1) ante el SIAT de Bolivia. IMPORTANTE: antes de llamar esta herramienta muestra al usuario el resumen completo (cliente, ítems, precios y total) y espera su confirmación explícita — el documento emitido es fiscalmente válido y solo puede revertirse con una anulación formal. Devuelve el CUF, número de factura, monto en literal y los enlaces del PDF.

NameRequiredDescriptionDefault
itemsYes
clienteYes
sucursalNo
metodo_pagoNo1=Efectivo, 2=Tarjeta, 7=Transferencia.
punto_ventaNo
actividad_economicaYesCódigo CAEB de 6 dígitos de la actividad del emisor. Ej: 620000.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the emitted document is fiscally valid and can only be undone via formal annulment — a critical irreversibility warning. It omits other operational traits such as SIAT credential/auth requirements or failure modes (e.g., rejected NIT or offline state), which keeps it from a 5.

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?

Three sentences, front-loaded with what the tool does and immediately followed by the mandatory confirmation gate and the return payload. No sentence is redundant.

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

Completeness3/5

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

Return values are enumerated (CUF, invoice number, amount in words, PDF links), which is necessary since there is no output schema, and the confirmation workflow is spelled out. But for a 6-parameter tool with nested objects and only 33% schema coverage, the description leaves too much of the invocation surface undocumented.

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

Parameters2/5

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

Schema description coverage is only 33% across 6 parameters including a nested items array and cliente object, so the description needs to compensate but does not. It only loosely gestures at 'cliente, ítems, precios y total' for the confirmation summary and says nothing about actividad_economica codes, sucursal/punto_venta defaults, or metodo_pago effects.

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?

States a specific verb and resource: it issues a fiscal Compra y Venta invoice against Bolivia's SIAT. The scope qualifier ('Sector 1') and the mention of the emitted fiscal document clearly separate it from the query-oriented siblings such as consultar_factura and listar_facturas.

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?

Gives an explicit precondition for calling: show the user the full summary and wait for confirmation. However, it never names an alternative for read-only or draft scenarios, nor states when this tool should not be used, so the routing guidance is contextual rather than exhaustive.

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

listar_facturasBInspect

Historial de facturas emitidas por el usuario, de la más reciente a la más antigua. Filtros opcionales por fecha y estado.

NameRequiredDescriptionDefault
desdeNoFecha inicial YYYY-MM-DD.
hastaNoFecha final YYYY-MM-DD.
estadoNo
limiteNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations present, the description must carry the full behavioral burden, and it does disclose ordering and per-user scoping. However, it omits material behavior: whether annulled invoices are included by default (the estado enum implies yes), that results are capped by a default limit of 20 (max 100), and that this is a read-only operation.

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 tightly written sentences with the resource, scope, ordering, and filter availability front-loaded; nothing is redundant or padded.

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

Completeness3/5

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

For a no-annotation, no-output-schema listing tool, the description covers scope and ordering but leaves pagination behavior and default result-set composition unexplained, which an agent needs to page through history correctly.

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

Parameters2/5

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

At 50% schema coverage the description should compensate, but it only echoes the two documented filters ('por fecha y estado') without clarifying formats or what OFFLINE/ANULADA mean in results. The 'limite' parameter is undocumented in both schema and description, so an agent has no signal that pagination exists or defaults to 20.

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 ('listar/historial de facturas') plus scope (invoices emitted by the user) and ordering (newest to oldest), which distinguishes it from the singular sibling consultar_factura. It never names that sibling or explicitly contrast the two, so it stops short of a 5.

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 a browsing/history use case via 'Historial' and notes the filters are optional, but it gives no explicit when-to-use guidance and no exclusion such as 'use consultar_factura to fetch a single invoice by ID' or emitir_factura to create one.

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

listar_sectoresAInspect

Lista los 15 tipos de documento fiscal (sectores SIAT) que soporta factura.bo y el endpoint de cada uno.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses useful behavior — exactly 15 items are returned and each includes an endpoint — which tells the agent this is a fixed-size catalog read rather than a filtered query. It does not state whether results are static/cached, ordered, or what the response shape is beyond 'endpoint'.

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 identifies the verb, the count, the domain, and the payload. No filler; slightly terse given the missing usage guidance, but nothing is wasted.

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, read-only catalog tool with no annotations and no output schema, the description conveys enough: what is listed, how many, and that endpoints come with each entry. Lacking only return-format details, which are low risk here.

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?

The tool takes zero parameters, so the schema baseline of 4 applies. Nothing in the description conflicts with the empty input 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 ('Lista los 15 tipos de documento fiscal (sectores SIAT)') and disambiguates the vague tool name 'sectores' by explaining it means fiscal document types. It also names the platform (factura.bo) and the returned companion data (endpoint of each). No sibling does anything similar, so differentiation is implicit.

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 can infer it should call this to discover which document type/endpoint to use before emitting an invoice, but the description never says when to use it or that it takes no arguments. There is no explicit exclusion or alternative, though no sibling overlaps meaningfully.

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

validar_nitAInspect

Verifica en tiempo real ante el SIAT si un NIT boliviano está activo para recibir facturas. Úsala antes de emitir una factura con NIT.

NameRequiredDescriptionDefault
nitYesNIT a verificar.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It usefully adds that the check is 'en tiempo real ante el SIAT', signaling an external, live dependency (latency/availability implications). But it says nothing about error handling, what an inactive/invalid NIT yields, or whether the call is strictly read-only.

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 tight sentences, purpose front-loaded followed by the usage trigger, with zero filler. Every clause earns its place.

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

Completeness3/5

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

For a simple one-parameter tool this is mostly adequate, but with no annotations and no output schema, the description should clarify return semantics (active/inactive, validity) and failure behavior. It implies the check outcome conceptually but leaves the response shape and edge cases 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%, so the single 'nit' integer parameter is fully documented in the schema. The description adds no format or syntax detail (e.g., how the NIT integer is formed), so baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb ('Verifica') and resource ('NIT boliviano') with precise scope: real-time validation against SIAT of active status to receive invoices. An agent can clearly distinguish this validation step from the mutation tool emitir_factura.

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 tells the agent when to use it: 'Úsala antes de emitir una factura con NIT', anchoring it as a pre-check before invoicing. However, it does not name alternatives or exclusions (e.g., how it differs from consultar_estado_siat), leaving some sibling ambiguity.

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. 8 tool updates
    • First observedconsultar_creditos
    • First observedconsultar_estado_siat
    • First observedconsultar_factura
    • First observedconsultar_tipo_de_cambio
    • First observedemitir_factura
    • First observedlistar_facturas
    • First observedlistar_sectores
    • First observedvalidar_nit

Related MCP Connectors

Related MCP Servers

  • 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables validation and PDF rendering of Guatemalan FEL invoices from XML files. Supports single file processing and batch operations with branded PDF output for local tax compliance workflows.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to manage Chilean electronic invoicing with the SII, collections, bank reconciliation, and accounting through OAuth-secured remote tools. Supports drafting, previewing, and emitting tax documents, plus reports, tax summaries, and SII company data lookups.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources