Listar los sistemas que se pueden conectar
Devuelve el catálogo de sistemas chilenos que esta organización puede conectar (bancos, SII) con el estado de cada uno: si ya está conectado, sus conexiones, los módulos de datos que ofrece y las herramientas que quedan disponibles al conectarlo.
| Tool ID | conexiones.sistemas.listar |
| Nombre MCP | conexiones__sistemas__listar |
| Conector | conexiones |
| Plano | action |
| Scope (permiso) | conexiones:read |
| Auth | none |
| Versión | 1 |
| Sensible | no |
| Deprecado | no |
| Comportamiento | readOnly=true, destructive=false, idempotent=true, openWorld=false |
Qué hace
Úsala SIEMPRE antes de crear un enlace, para obtener el código exacto del sistema, no lo adivines. Si un sistema aparece con 'conectado' en false, el camino es 'conexiones.enlace.crear'.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
sistema | string | no | Filtra por código de sistema. Omítelo para verlos todos. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sistema": {
"description": "Filtra por código de sistema. Omítelo para verlos todos.",
"type": "string"
}
}
}Ejemplo
curl -X POST https://connect.emisso.ai/api/v1/tools/conexiones.sistemas.listar/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "Content-Type: application/json" \
-d '{"input":{}}'const data = await connect.tools.conexiones.sistemas.listar();{
"tool": "conexiones.sistemas.listar",
"params": {}
}Salida esperada (200):
{
"data": {
"sistemas": [
{
"codigo": "sii",
"nombre": "Servicio de Impuestos Internos",
"nombreCorto": "SII",
"insignia": "TRIBUTARIO",
"dominio": "sii.cl",
"requiereNavegador": false,
"alcances": [
{
"codigo": "rcv",
"etiqueta": "Compras y ventas (RCV)"
},
{
"codigo": "boletas",
"etiqueta": "Boletas electrónicas de venta (39/41)"
}
],
"conectado": false,
"conexiones": [],
"herramientas": [
"sii.conexion.sincronizar",
"sii.conexion.verificar",
"sii.rcv.consultar",
"sii.boletas.consultar"
]
}
]
},
"meta": {
"request_id": "req_…",
"tool_id": "conexiones.sistemas.listar",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}Recortado a un sistema y dos alcances; la respuesta real trae el catálogo completo.
Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
sistemas | lista de objeto | sí | El catálogo de sistemas conectables, con el estado de cada uno para esta organización. |
sistemas[].codigo | string | sí | El código del sistema. Es el valor exacto que espera 'conexiones.enlace.crear'; no lo adivines a partir del nombre. |
sistemas[].nombre | string | sí | El nombre largo del sistema, para escribirlo completo la primera vez. |
sistemas[].nombreCorto | string | sí | El nombre corto, para listas y selectores. |
sistemas[].insignia | string | null | sí |
sistemas[].dominio | string | null | sí |
sistemas[].requiereNavegador | booleano | sí | 'true' significa que el login de este sistema abre un navegador remoto y tarda decenas de segundos. Avísalo antes de empezar, para que la espera no parezca que algo se colgó. |
sistemas[].alcances | lista de objeto | sí | Los módulos de datos que este sistema ofrece. Al conectarlo eliges cuáles quedan habilitados. |
sistemas[].alcances[].codigo | string | sí | El código del módulo de datos, tal como se pasa en 'alcances' al sincronizar. |
sistemas[].alcances[].etiqueta | string | sí | El nombre del módulo en lenguaje de producto, para mostrárselo a una persona. |
sistemas[].conectado | booleano | sí | 'true' si esta organización ya tiene al menos una conexión de este sistema. Si es 'false', el camino es 'conexiones.enlace.crear'. |
sistemas[].conexiones | lista de objeto | sí | Las conexiones que esta organización ya tiene de este sistema. Vacío cuando 'conectado' es false. |
sistemas[].conexiones[].id | string | sí | El id de la conexión (conn_…). Es lo que va en la cabecera 'X-Connect-Connection' de cada llamada a este sistema. |
sistemas[].conexiones[].nombre | string | sí | El nombre con que se creó la conexión, normalmente la empresa a la que pertenece la credencial. |
sistemas[].conexiones[].estado | "active" · "disabled" · "pending" | sí | En qué estado está la conexión. 'active' = utilizable. 'disabled' = pausada, sus tools responden 'connection_disabled'. 'pending' = creada pero todavía sin credencial vinculada. |
sistemas[].conexiones[].credencial | "linked" · "invalid" · "revoked" · "ausente" | sí | En qué estado está la credencial de esta conexión. 'linked' = vinculada y utilizable. 'invalid' = el sistema externo la rechazó, hay que reconectar. 'revoked' = se revocó a propósito. 'ausente' = nunca se entregó. Todo lo que no sea 'linked' se arregla con 'conexiones.enlace.crear' en modo 'reconectar'. |
sistemas[].herramientas | lista de string | sí | Los ids de tool que quedan disponibles al conectar este sistema. Los puedes aprender ANTES de conectar e invocarlos con 'execute' pasando el id en 'tool', sin esperar a que tu cliente MCP refresque su lista. |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sistemas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"codigo": {
"type": "string",
"description": "El código del sistema. Es el valor exacto que espera 'conexiones.enlace.crear'; no lo adivines a partir del nombre."
},
"nombre": {
"type": "string",
"description": "El nombre largo del sistema, para escribirlo completo la primera vez."
},
"nombreCorto": {
"type": "string",
"description": "El nombre corto, para listas y selectores."
},
"insignia": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "La categoría que muestra el selector (por ejemplo 'TRIBUTARIO' o 'BANCO EMPRESAS'). Solo presentación."
},
"dominio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El dominio del sistema externo, solo para mostrarlo. Nunca es la dirección a la que se llama."
},
"requiereNavegador": {
"type": "boolean",
"description": "'true' significa que el login de este sistema abre un navegador remoto y tarda decenas de segundos. Avísalo antes de empezar, para que la espera no parezca que algo se colgó."
},
"alcances": {
"type": "array",
"items": {
"type": "object",
"properties": {
"codigo": {
"type": "string",
"description": "El código del módulo de datos, tal como se pasa en 'alcances' al sincronizar."
},
"etiqueta": {
"type": "string",
"description": "El nombre del módulo en lenguaje de producto, para mostrárselo a una persona."
}
},
"required": [
"codigo",
"etiqueta"
],
"additionalProperties": false
},
"description": "Los módulos de datos que este sistema ofrece. Al conectarlo eliges cuáles quedan habilitados."
},
"conectado": {
"type": "boolean",
"description": "'true' si esta organización ya tiene al menos una conexión de este sistema. Si es 'false', el camino es 'conexiones.enlace.crear'."
},
"conexiones": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "El id de la conexión (conn_…). Es lo que va en la cabecera 'X-Connect-Connection' de cada llamada a este sistema."
},
"nombre": {
"type": "string",
"description": "El nombre con que se creó la conexión, normalmente la empresa a la que pertenece la credencial."
},
"estado": {
"type": "string",
"enum": [
"active",
"disabled",
"pending"
],
"description": "En qué estado está la conexión. 'active' = utilizable. 'disabled' = pausada, sus tools responden 'connection_disabled'. 'pending' = creada pero todavía sin credencial vinculada."
},
"credencial": {
"type": "string",
"enum": [
"linked",
"invalid",
"revoked",
"ausente"
],
"description": "En qué estado está la credencial de esta conexión. 'linked' = vinculada y utilizable. 'invalid' = el sistema externo la rechazó, hay que reconectar. 'revoked' = se revocó a propósito. 'ausente' = nunca se entregó. Todo lo que no sea 'linked' se arregla con 'conexiones.enlace.crear' en modo 'reconectar'."
}
},
"required": [
"id",
"nombre",
"estado",
"credencial"
],
"additionalProperties": false
},
"description": "Las conexiones que esta organización ya tiene de este sistema. Vacío cuando 'conectado' es false."
},
"herramientas": {
"type": "array",
"items": {
"type": "string"
},
"description": "Los ids de tool que quedan disponibles al conectar este sistema. Los puedes aprender ANTES de conectar e invocarlos con 'execute' pasando el id en 'tool', sin esperar a que tu cliente MCP refresque su lista."
}
},
"required": [
"codigo",
"nombre",
"nombreCorto",
"insignia",
"dominio",
"requiereNavegador",
"alcances",
"conectado",
"conexiones",
"herramientas"
],
"additionalProperties": false
},
"description": "El catálogo de sistemas conectables, con el estado de cada uno para esta organización."
}
},
"required": [
"sistemas"
],
"additionalProperties": false
}Errores de esta tool
Toda llamada puede devolver además los códigos transversales (validation_error, unauthorized, scope_not_granted, rate_limited, entre otros): el detalle vive en el catálogo de errores.