Connect

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 IDconexiones.sistemas.listar
Nombre MCPconexiones__sistemas__listar
Conectorconexiones
Planoaction
Scope (permiso)conexiones:read
Authnone
Versión1
Sensibleno
Deprecadono
ComportamientoreadOnly=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

CampoTipoRequeridoDescripción
sistemastringnoFiltra 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
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":{}}'
SDK TypeScript
const data = await connect.tools.conexiones.sistemas.listar();
MCP · meta-tool execute
{
  "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"
          }
        ],
        "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

CampoTipoRequeridoDescripción
sistemaslista de objetosíEl catálogo de sistemas conectables, con el estado de cada uno para esta organización.
sistemas[].codigostringsíEl código del sistema. Es el valor exacto que espera 'conexiones.enlace.crear'; no lo adivines a partir del nombre.
sistemas[].nombrestringsíEl nombre largo del sistema, para escribirlo completo la primera vez.
sistemas[].nombreCortostringsíEl nombre corto, para listas y selectores.
sistemas[].insigniastringnullsí
sistemas[].dominiostringnullsí
sistemas[].requiereNavegadorbooleanosí'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[].alcanceslista de objetosíLos módulos de datos que este sistema ofrece. Al conectarlo eliges cuáles quedan habilitados.
sistemas[].alcances[].codigostringsíEl código del módulo de datos, tal como se pasa en 'alcances' al sincronizar.
sistemas[].alcances[].etiquetastringsíEl nombre del módulo en lenguaje de producto, para mostrárselo a una persona.
sistemas[].conectadobooleanosí'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[].conexioneslista de objetosíLas conexiones que esta organización ya tiene de este sistema. Vacío cuando 'conectado' es false.
sistemas[].conexiones[].idstringsí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[].nombrestringsí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'. OJO: 'linked' NO es un certificado de salud. Dice que alguien entregó la credencial y que se aceptó en su momento, no que hoy siga sirviendo.
sistemas[].herramientaslista de stringsí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'. OJO: 'linked' NO es un certificado de salud. Dice que alguien entregó la credencial y que se aceptó en su momento, no que hoy siga sirviendo."
                }
              },
              "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.

En esta página