Crear un enlace para conectar un sistema
Crea un enlace de un solo uso donde la persona entrega sus credenciales del sistema para conectarlo.
| Tool ID | conexiones.enlace.crear |
| Nombre MCP | conexiones__enlace__crear |
| Conector | conexiones |
| Plano | action |
| Scope (permiso) | conexiones:write |
| Auth | none |
| Versión | 1 |
| Sensible | sí |
| Deprecado | no |
| Comportamiento | readOnly=false, destructive=false, idempotent=false, openWorld=false |
Qué hace
Devuelve el enlace SIEMPRE con su dominio completo visible y explicando quién lo pidió y para qué; nunca lo presentes como un aviso del banco ni del SII. La credencial se cifra en el vault de esta misma organización y no la ve nadie más, tampoco tú. El enlace vence y sirve una sola vez. Después de que la persona lo complete, usa 'conexiones.estado.consultar' para saber si ya hay datos.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
sistema | string | sí | Código del sistema, tal como lo devuelve conexiones.sistemas.listar. |
modo | "crear" · "reconectar" | no · default "crear" | 'crear' para una conexión nueva; 'reconectar' para renovar la credencial de una que ya existe. |
conexionId | string | no | conn_…, obligatorio cuando modo es 'reconectar'. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sistema": {
"type": "string",
"description": "Código del sistema, tal como lo devuelve conexiones.sistemas.listar."
},
"modo": {
"default": "crear",
"description": "'crear' para una conexión nueva; 'reconectar' para renovar la credencial de una que ya existe.",
"type": "string",
"enum": [
"crear",
"reconectar"
]
},
"conexionId": {
"description": "conn_…, obligatorio cuando modo es 'reconectar'.",
"type": "string"
}
},
"required": [
"sistema"
]
}Ejemplo
curl -X POST https://connect.emisso.ai/api/v1/tools/conexiones.enlace.crear/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "Content-Type: application/json" \
-d '{"input":{"sistema":"sii"}}'const data = await connect.tools.conexiones.enlace.crear({ sistema: "sii" });{
"tool": "conexiones.enlace.crear",
"params": {
"sistema": "sii"
}
}Salida esperada (200):
{
"data": {
"url": "https://connect.emisso.ai/c/mYw2kQ81xR4tPnZs",
"dominio": "connect.emisso.ai",
"sistema": "sii",
"sistemaNombre": "Servicio de Impuestos Internos",
"modo": "crear",
"expiraEn": "2026-08-07T15:32:11.000Z",
"intentosMaximos": 5,
"advertencia": "Este enlace pide credenciales de acceso al sistema. Muéstralo siempre con su dominio completo y di quién lo pidió y para qué. No lo presentes como un aviso del banco ni del SII."
},
"meta": {
"request_id": "req_…",
"tool_id": "conexiones.enlace.crear",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}El enlace vence una hora después de acuñado y sirve una sola vez.
Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
url | string | sí | El enlace de un solo uso. Compártelo tal cual, con el dominio visible. |
dominio | string | sí | El dominio del enlace, ya extraído para mostrarlo junto a la URL. |
sistema | string | sí | Código del sistema que se va a conectar. |
sistemaNombre | string | sí | Nombre del sistema, para presentar el enlace con claridad. |
modo | "crear" · "reconectar" | sí | Si el enlace crea una conexión nueva o renueva la credencial de una existente. |
expiraEn | string | sí | Cuándo vence el enlace (ISO 8601). Vencido, hay que crear otro. |
intentosMaximos | entero | sí | Cuántos intentos de login admite antes de agotarse. |
advertencia | string | sí | Texto de presentación segura del enlace, listo para mostrar a la persona. |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "El enlace de un solo uso. Compártelo tal cual, con el dominio visible."
},
"dominio": {
"type": "string",
"description": "El dominio del enlace, ya extraído para mostrarlo junto a la URL."
},
"sistema": {
"type": "string",
"description": "Código del sistema que se va a conectar."
},
"sistemaNombre": {
"type": "string",
"description": "Nombre del sistema, para presentar el enlace con claridad."
},
"modo": {
"type": "string",
"enum": [
"crear",
"reconectar"
],
"description": "Si el enlace crea una conexión nueva o renueva la credencial de una existente."
},
"expiraEn": {
"type": "string",
"description": "Cuándo vence el enlace (ISO 8601). Vencido, hay que crear otro."
},
"intentosMaximos": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Cuántos intentos de login admite antes de agotarse."
},
"advertencia": {
"type": "string",
"description": "Texto de presentación segura del enlace, listo para mostrar a la persona."
}
},
"required": [
"url",
"dominio",
"sistema",
"sistemaNombre",
"modo",
"expiraEn",
"intentosMaximos",
"advertencia"
],
"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.