Consultar retiros de Mercado Pago
Lee los retiros de dinero de la cuenta de Mercado Pago de esta conexión (transferencias a cuentas bancarias, sus cancelaciones y retiros en efectivo), YA sincronizados desde los reportes «Dinero en cuenta» que la cuenta tiene.
| Tool ID | mercadopago.egresos.consultar |
| Nombre MCP | mercadopago__egresos__consultar |
| Conector | mercadopago |
| Plano | action |
| Lee el alcance | egresos (debe estar habilitado en la conexión) |
| Scope (permiso) | mercadopago:read |
| Auth | none |
| Versión | 1 |
| Sensible | sí |
| Deprecado | no |
| Comportamiento | readOnly=true, destructive=false, idempotent=true, openWorld=false |
Requiere conexión. Indica cuál en cada llamada: header
X-Connect-Connectionen REST y campoconnectionIden elexecutede MCP. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale deconexiones.estado.consultar.
Qué hace
Sirve para conciliar salidas de fondos. Requiere el módulo 'egresos' habilitado en la conexión. Un retiro a una cuenta propia es movimiento de fondos, no un gasto. Lectura pura: NO contacta a Mercado Pago, NO genera reportes y no es saldo ni cartola completa. Revisa 'cobertura' antes de concluir que no hubo retiros. Para traer datos nuevos usa 'mercadopago.conexion.sincronizar' con 'egresos'. Pagina con 'cursor'.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
desde | string ^\d{4}-\d{2}-\d{2}$ | no | Primer día (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar. |
hasta | string ^\d{4}-\d{2}-\d{2}$ | no | Último día, incluido (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar. |
tipo | "retiro_bancario" · "retiro_bancario_cancelado" · "retiro_efectivo" | no | Trae sólo ese tipo. Omítelo para ver todos. |
operacionId | string ^[0-9A-Za-z][0-9A-Za-z_-]{0,99}$ | no | Trae sólo esa operación, por su id de Mercado Pago (texto). |
cursor | string | no | Puntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página. |
limit | entero 1-500 | no · default 100 | Cuántas filas trae la página, entre 1 y 500. Por omisión, 100. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"desde": {
"description": "Primer día (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"hasta": {
"description": "Último día, incluido (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"tipo": {
"description": "Trae sólo ese tipo. Omítelo para ver todos.",
"type": "string",
"enum": [
"retiro_bancario",
"retiro_bancario_cancelado",
"retiro_efectivo"
]
},
"operacionId": {
"description": "Trae sólo esa operación, por su id de Mercado Pago (texto).",
"type": "string",
"pattern": "^[0-9A-Za-z][0-9A-Za-z_-]{0,99}$"
},
"cursor": {
"description": "Puntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página.",
"type": "string"
},
"limit": {
"default": 100,
"description": "Cuántas filas trae la página, entre 1 y 500. Por omisión, 100.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
}
}Ejemplo
curl -X POST https://connect.emisso.ai/api/v1/tools/mercadopago.egresos.consultar/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"desde":"2026-10-01","hasta":"2026-10-15"}}'{
"tool": "mercadopago.egresos.consultar",
"params": {
"desde": "2026-10-01",
"hasta": "2026-10-15"
},
"connectionId": "conn_9tKfR2mQx4Vb"
}Salida esperada (200):
{
"data": {
"egresos": [
{
"operacionId": "88120034511",
"tipo": "retiro_bancario",
"tipoMercadoPago": "WITHDRAWAL",
"moneda": "CLP",
"monto": "-250000.00",
"montoNeto": "-250000.00",
"monedaLiquidacion": "CLP",
"comision": null,
"fechaOperacion": "2026-10-14T13:10:00.000Z",
"fechaLiquidacion": "2026-10-14T13:10:00.000Z",
"medioPago": null,
"tipoMedioPago": null,
"referenciaExterna": null,
"conflicto": false,
"reporteId": "17001104",
"reporteCreadoEn": "2026-10-15T09:00:00.000Z",
"sincronizadoEn": "2026-10-15T12:00:02.000Z"
}
],
"cobertura": {
"busqueda": {
"estado": "completa",
"realizadaEn": "2026-10-15T12:00:01.000Z",
"reportesListados": 1
},
"reportes": {
"procesados": 1,
"parciales": 0,
"pendientes": 0,
"noUsados": 0
},
"periodosLeidos": [
{
"desde": "2026-10-01T03:00:00.000Z",
"hasta": "2026-10-15T02:59:59.000Z"
}
],
"ultimosReportes": [
{
"reporteId": "17001104",
"periodoDesde": "2026-10-01T03:00:00.000Z",
"periodoHasta": "2026-10-15T02:59:59.000Z",
"creadoEn": "2026-10-15T09:00:00.000Z",
"formato": "CSV",
"estado": "procesado",
"motivo": null,
"retiros": 1
}
]
},
"cursor": null
},
"meta": {
"request_id": "req_…",
"tool_id": "mercadopago.egresos.consultar",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}El signo y los importes son los del reporte. Fuera de 'periodosLeidos' no se acredita lectura completa de un reporte; puede haber filas de reportes parciales.
Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
egresos | lista de objeto | sí | Los retiros y cancelaciones de retiro guardados, del más nuevo al más antiguo por fecha de la operación. |
egresos[].operacionId | string | sí | El id de la operación en Mercado Pago (columna SOURCE_ID del reporte), como texto: no lo conviertas a número. |
egresos[].tipo | "retiro_bancario" · "retiro_bancario_cancelado" · "retiro_efectivo" | sí | 'retiro_bancario': transferencia a una cuenta bancaria. 'retiro_bancario_cancelado': la CANCELACIÓN de una de esas transferencias; es otra operación, no borra la original ni es un reembolso de un cobro. 'retiro_efectivo': retiro de dinero en efectivo. Un retiro mueve fondos de la cuenta: Mercado Pago no informa si el destino es propio, así que no lo trates como un gasto. |
egresos[].tipoMercadoPago | string | sí | El tipo tal como lo nombra el reporte (WITHDRAWAL, WITHDRAWAL_CANCEL o PAYOUT). |
egresos[].moneda | string | sí | La moneda de la operación (ISO 4217) según el reporte. Siempre presente. |
egresos[].monto | string | sí | El importe de la operación según el reporte, con el signo que trae el reporte, en decimal como texto (por ejemplo "15990" o "1250.5") y en la moneda de 'moneda'. No lo sumes con importes de otra moneda. |
egresos[].montoNeto | string | null | sí |
egresos[].monedaLiquidacion | string | null | sí |
egresos[].comision | string | null | sí |
egresos[].fechaOperacion | string | sí | Cuándo se originó la operación (ISO 8601, UTC). |
egresos[].fechaLiquidacion | string | null | sí |
egresos[].medioPago | string | null | sí |
egresos[].tipoMedioPago | string | null | sí |
egresos[].referenciaExterna | string | null | sí |
egresos[].conflicto | booleano | sí | true si OTRO reporte trajo esta misma operación con moneda, importe o fecha distintos. Se conservan los datos primeros; no los uses para conciliar sin revisar en Mercado Pago. |
egresos[].reporteId | string | sí | El id del reporte de Mercado Pago del que sale la versión guardada (el más nuevo que la trajo). |
egresos[].reporteCreadoEn | string | sí | Cuándo generó Mercado Pago ese reporte (ISO 8601). |
egresos[].sincronizadoEn | string | sí | Cuándo guardó Connect esta versión (ISO 8601). |
cobertura | objeto | sí | Qué respalda la lista. Los retiros salen SOLO de los reportes «Dinero en cuenta» que ya existen en la cuenta: Connect no los genera ni cambia su configuración. Una lista vacía, una búsqueda sin reportes o 'sin_acceso' NO prueban que no haya retiros, y esto no es una cartola completa. |
cobertura.busqueda | objeto | sí | Estado de la última búsqueda de reportes, independiente de su descarga y lectura. |
cobertura.busqueda.estado | "nunca" · "completa" · "parcial" · "sin_acceso" · "error_transitorio" | sí | Cómo terminó la última búsqueda de reportes. 'nunca': aún no se sincronizó este módulo. 'sin_acceso': Mercado Pago no dejó listar reportes con esta autorización. |
cobertura.busqueda.realizadaEn | string | null | sí |
cobertura.busqueda.reportesListados | entero | sí | Cuántos reportes listó esa búsqueda. |
cobertura.reportes | objeto | sí | Cantidad de reportes conocidos según su estado de lectura; incluye ejecuciones anteriores. |
cobertura.reportes.procesados | entero | sí | Reportes leídos enteros. |
cobertura.reportes.parciales | entero | sí | Reportes leídos con filas ilegibles. |
cobertura.reportes.pendientes | entero | sí | Reportes que se reintentan en la próxima sincronización. |
cobertura.reportes.noUsados | entero | sí | Reportes que no se pudieron usar (formato, cuenta, moneda, conflicto, vacío). |
cobertura.periodosLeidos | lista de objeto | sí | Los períodos de los reportes leídos enteros, unidos. Fuera de ellos no se acredita lectura completa de un reporte; puede haber filas de reportes parciales. Dentro, la lista refleja lo que traían esos reportes: si la cuenta los configuró sin retiros, no aparecen. |
cobertura.periodosLeidos[].desde | string | sí | Inicio (ISO 8601). |
cobertura.periodosLeidos[].hasta | string | sí | Fin (ISO 8601). |
cobertura.ultimosReportes | lista de objeto | sí | Los reportes más recientes que vio Connect (hasta 20), con lo que pasó con cada uno. |
cobertura.ultimosReportes[].reporteId | string | sí | El id del reporte en Mercado Pago. |
cobertura.ultimosReportes[].periodoDesde | string | null | sí |
cobertura.ultimosReportes[].periodoHasta | string | null | sí |
cobertura.ultimosReportes[].creadoEn | string | null | sí |
cobertura.ultimosReportes[].formato | string | null | sí |
cobertura.ultimosReportes[].estado | "listado" · "pendiente_proveedor" · "error_transitorio" · "sin_acceso" · "procesado" · "parcial" · … | sí | Qué hizo Connect con él. 'procesado': leído entero. 'parcial': leído con filas ilegibles. 'listado', 'pendiente_proveedor', 'error_transitorio' o 'sin_acceso': se reintenta. 'no_soportado' (por ejemplo XLSX o encabezados traducidos), 'conflicto', 'cuenta_ajena', 'moneda_distinta', 'demasiado_grande' o 'vacio': no se usó. |
cobertura.ultimosReportes[].motivo | string | null | sí |
cobertura.ultimosReportes[].retiros | entero | sí | Filas de retiro o cancelación que traía el archivo leído. |
cursor | string | null | sí |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"egresos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"operacionId": {
"type": "string",
"description": "El id de la operación en Mercado Pago (columna SOURCE_ID del reporte), como texto: no lo conviertas a número."
},
"tipo": {
"type": "string",
"enum": [
"retiro_bancario",
"retiro_bancario_cancelado",
"retiro_efectivo"
],
"description": "'retiro_bancario': transferencia a una cuenta bancaria. 'retiro_bancario_cancelado': la CANCELACIÓN de una de esas transferencias; es otra operación, no borra la original ni es un reembolso de un cobro. 'retiro_efectivo': retiro de dinero en efectivo. Un retiro mueve fondos de la cuenta: Mercado Pago no informa si el destino es propio, así que no lo trates como un gasto."
},
"tipoMercadoPago": {
"type": "string",
"description": "El tipo tal como lo nombra el reporte (WITHDRAWAL, WITHDRAWAL_CANCEL o PAYOUT)."
},
"moneda": {
"type": "string",
"description": "La moneda de la operación (ISO 4217) según el reporte. Siempre presente."
},
"monto": {
"type": "string",
"description": "El importe de la operación según el reporte, con el signo que trae el reporte, en decimal como texto (por ejemplo \"15990\" o \"1250.5\") y en la moneda de 'moneda'. No lo sumes con importes de otra moneda."
},
"montoNeto": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El importe neto que impactó el saldo según el reporte, con su signo, en decimal como texto y en la moneda de 'moneda'. null cuando Mercado Pago no lo informó: null NO es cero."
},
"monedaLiquidacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "La moneda del neto según el reporte. null si no vino."
},
"comision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Las comisiones de la operación según el reporte, con su signo; no atribuyas una moneda que el reporte no identifica para este campo, en decimal como texto y en la moneda de 'moneda'. null cuando Mercado Pago no lo informó: null NO es cero."
},
"fechaOperacion": {
"type": "string",
"description": "Cuándo se originó la operación (ISO 8601, UTC)."
},
"fechaLiquidacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cuándo se liquidó según el reporte (ISO 8601, UTC). null si Mercado Pago no la informó."
},
"medioPago": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El medio según el reporte. null si no vino."
},
"tipoMedioPago": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El tipo de medio según el reporte. null si no vino."
},
"referenciaExterna": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "La referencia de la operación según el reporte, tal cual. Puede no existir."
},
"conflicto": {
"type": "boolean",
"description": "true si OTRO reporte trajo esta misma operación con moneda, importe o fecha distintos. Se conservan los datos primeros; no los uses para conciliar sin revisar en Mercado Pago."
},
"reporteId": {
"type": "string",
"description": "El id del reporte de Mercado Pago del que sale la versión guardada (el más nuevo que la trajo)."
},
"reporteCreadoEn": {
"type": "string",
"description": "Cuándo generó Mercado Pago ese reporte (ISO 8601)."
},
"sincronizadoEn": {
"type": "string",
"description": "Cuándo guardó Connect esta versión (ISO 8601)."
}
},
"required": [
"operacionId",
"tipo",
"tipoMercadoPago",
"moneda",
"monto",
"montoNeto",
"monedaLiquidacion",
"comision",
"fechaOperacion",
"fechaLiquidacion",
"medioPago",
"tipoMedioPago",
"referenciaExterna",
"conflicto",
"reporteId",
"reporteCreadoEn",
"sincronizadoEn"
],
"additionalProperties": false
},
"description": "Los retiros y cancelaciones de retiro guardados, del más nuevo al más antiguo por fecha de la operación."
},
"cobertura": {
"type": "object",
"properties": {
"busqueda": {
"type": "object",
"properties": {
"estado": {
"type": "string",
"enum": [
"nunca",
"completa",
"parcial",
"sin_acceso",
"error_transitorio"
],
"description": "Cómo terminó la última búsqueda de reportes. 'nunca': aún no se sincronizó este módulo. 'sin_acceso': Mercado Pago no dejó listar reportes con esta autorización."
},
"realizadaEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cuándo se buscaron reportes por última vez (ISO 8601)."
},
"reportesListados": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Cuántos reportes listó esa búsqueda."
}
},
"required": [
"estado",
"realizadaEn",
"reportesListados"
],
"additionalProperties": false,
"description": "Estado de la última búsqueda de reportes, independiente de su descarga y lectura."
},
"reportes": {
"type": "object",
"properties": {
"procesados": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Reportes leídos enteros."
},
"parciales": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Reportes leídos con filas ilegibles."
},
"pendientes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Reportes que se reintentan en la próxima sincronización."
},
"noUsados": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Reportes que no se pudieron usar (formato, cuenta, moneda, conflicto, vacío)."
}
},
"required": [
"procesados",
"parciales",
"pendientes",
"noUsados"
],
"additionalProperties": false,
"description": "Cantidad de reportes conocidos según su estado de lectura; incluye ejecuciones anteriores."
},
"periodosLeidos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"desde": {
"type": "string",
"description": "Inicio (ISO 8601)."
},
"hasta": {
"type": "string",
"description": "Fin (ISO 8601)."
}
},
"required": [
"desde",
"hasta"
],
"additionalProperties": false
},
"description": "Los períodos de los reportes leídos enteros, unidos. Fuera de ellos no se acredita lectura completa de un reporte; puede haber filas de reportes parciales. Dentro, la lista refleja lo que traían esos reportes: si la cuenta los configuró sin retiros, no aparecen."
},
"ultimosReportes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reporteId": {
"type": "string",
"description": "El id del reporte en Mercado Pago."
},
"periodoDesde": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Inicio del período que dice cubrir el reporte (ISO 8601). null si no vino."
},
"periodoHasta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Fin del período que dice cubrir el reporte (ISO 8601). null si no vino."
},
"creadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cuándo lo generó Mercado Pago (ISO 8601)."
},
"formato": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El formato que informa Mercado Pago ('CSV', 'XLSX')."
},
"estado": {
"type": "string",
"enum": [
"listado",
"pendiente_proveedor",
"error_transitorio",
"sin_acceso",
"procesado",
"parcial",
"conflicto",
"cuenta_ajena",
"moneda_distinta",
"no_soportado",
"demasiado_grande",
"vacio"
],
"description": "Qué hizo Connect con él. 'procesado': leído entero. 'parcial': leído con filas ilegibles. 'listado', 'pendiente_proveedor', 'error_transitorio' o 'sin_acceso': se reintenta. 'no_soportado' (por ejemplo XLSX o encabezados traducidos), 'conflicto', 'cuenta_ajena', 'moneda_distinta', 'demasiado_grande' o 'vacio': no se usó."
},
"motivo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Código del motivo cuando no quedó 'procesado' (por ejemplo 'xlsx' o 'columnas_faltantes')."
},
"retiros": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Filas de retiro o cancelación que traía el archivo leído."
}
},
"required": [
"reporteId",
"periodoDesde",
"periodoHasta",
"creadoEn",
"formato",
"estado",
"motivo",
"retiros"
],
"additionalProperties": false
},
"description": "Los reportes más recientes que vio Connect (hasta 20), con lo que pasó con cada uno."
}
},
"required": [
"busqueda",
"reportes",
"periodosLeidos",
"ultimosReportes"
],
"additionalProperties": false,
"description": "Qué respalda la lista. Los retiros salen SOLO de los reportes «Dinero en cuenta» que ya existen en la cuenta: Connect no los genera ni cambia su configuración. Una lista vacía, una búsqueda sin reportes o 'sin_acceso' NO prueban que no haya retiros, y esto no es una cartola completa."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Puntero a la página siguiente. Si viene distinto de null hay más filas: vuelve a llamar reenviándolo tal cual en 'cursor'. Un null significa que no queda nada por traer."
}
},
"required": [
"egresos",
"cobertura",
"cursor"
],
"additionalProperties": false
}Errores de esta tool
| Código | HTTP | Reintentable | Qué hacer |
|---|---|---|---|
connection_disabled | 403 | no | Reactívala en /connections o usa otra conexión del mismo sistema. |
connection_not_found | 404 | no | Usa uno de los connectionId que lista el error, o revisa la conexión en /connections. No hace falta reactivar nada. |
alcance_not_enabled | 403 | no | Habilita el alcance en /connections o quítalo del input de la sincronización. |
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.
Próximos pasos
mercadopago.conexion.sincronizar: la tool que escribe los datos que esta lectura devuelve.- Sincronizar y consultar: por qué leer datos reales son dos pasos.
Verificar conexión Mercado Pago
Prueba las credenciales de la conexión contra Mercado Pago haciendo un login real (y su logout, a cargo del pipeline).
Consultar pagos recibidos en Mercado Pago
Lee los pagos que RECIBIÓ la cuenta de Mercado Pago de esta conexión, YA sincronizados: estado, monto, moneda, lo reembolsado, el neto recibido, las comisiones y cuándo se libera el dinero.