{"count":118,"tools":[{"name":"activate_control_agent","server":"control","description":"Activa un \u0022agente de control\u0022 (revisi\u00f3n autom\u00e1tica peri\u00f3dica, solo lectura) identificado por su c\u00f3digo (p.ej. \u0022AG-006\u0022). El control quedar\u00e1 programado y avisar\u00e1 por Telegram. Usa primero list_control_agents para conocer los c\u00f3digos disponibles. Opcionalmente admite una cadencia cron personalizada; si se omite, se usa la recomendada del agente.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"C\u00f3digo del agente de control a activar (p.ej. \u0022AG-006\u0022)."},"cron":{"type":"string","description":"Opcional: cadencia cron de 5 campos que sustituye a la recomendada."}},"required":["code"]}},{"name":"base64_tool","server":"crypto-utils","description":"Codifica un texto a base64 o decodifica una cadena base64 a texto plano. \u00datil cuando el usuario necesita convertir datos hacia\/desde base64.","inputSchema":{"type":"object","properties":{"input":{"type":"string","description":"Texto de entrada (texto plano para encode, base64 para decode)"},"op":{"type":"string","enum":["encode","decode"],"description":"Operaci\u00f3n a realizar: \u0022encode\u0022 o \u0022decode\u0022"}},"required":["input","op"]}},{"name":"bastanteo_altas_atascadas","server":"bastanteo","description":"Altas KYC de Bastanteo que no avanzan: distribuci\u00f3n por paso del onboarding, verificaciones pendientes (tel\u00e9fono, identidad, contrato, wallet) y los casos m\u00e1s parados con sus d\u00edas sin actividad. El ALCANCE lo decide tu rol: administrador \u2192 solo los usuarios de las empresas de tu cartera; super-administrador \u2192 distribuci\u00f3n global de toda la plataforma. Solo consulta; no admite consultar a un usuario concreto.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"bastanteo_apoderados_titulares","server":"bastanteo","description":"Apoderados\/administradores, titulares reales y documentaci\u00f3n societaria en Bastanteo (KYC\/AML). SUPER-ADMINISTRADOR: foto GLOBAL \u2014 n\u00ba de empresas, administradores por tipo, titulares reales (y los que ostentan control con participaci\u00f3n directa \u2265 25 %) y documentaci\u00f3n societaria pendiente (escritura de constituci\u00f3n, tarjeta CIF, impuesto de sociedades, modelo 036\/037, poder de apoderamiento). ADMINISTRADOR: el mismo control acotado a las empresas de su cartera, con las que no tienen administrador o titular real declarado y la documentaci\u00f3n que falta. Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"bastanteo_fallos_verificacion","server":"bastanteo","description":"Fallos de verificaci\u00f3n (tel\u00e9fono, identidad, contrato, wallet, IBAN; y SMS\/v\u00eddeo en persona f\u00edsica) en Bastanteo. SUPER-ADMINISTRADOR: foto GLOBAL \u2014 cu\u00e1ntos tienen cada verificaci\u00f3n pendiente, por tipo de persona. ADMINISTRADOR: lo mismo acotado a los usuarios de su cartera, con qui\u00e9n tiene verificaciones pendientes y cu\u00e1les. Solo consulta; el alcance lo decide tu rol, nunca los argumentos. Los flags son copia local y pueden ir desfasados respecto a Sefide.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"bastanteo_legal_entity_data","server":"bastanteo","description":"Devuelve los datos de PERSONA JUR\u00cdDICA del usuario autenticado en bastanteo: datos de la empresa (nombre, CIF, direcci\u00f3n, CNAE), administradores y titulares reales. Solo aplica si el usuario es persona jur\u00eddica (si no, devuelve found:false). No recibe email: el servidor resuelve al usuario autenticado.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"bastanteo_onboarding_distribution","server":"bastanteo","description":"Distribuci\u00f3n GLOBAL del onboarding jur\u00eddico de Bastanteo: n\u00ba de entidades en cada paso (currentStep). Solo conteos agregados. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"bastanteo_onboarding_status","server":"bastanteo","description":"Devuelve el ESTADO del onboarding\/KYC del usuario autenticado en bastanteo: pasos completados, paso actual, y verificaciones (tel\u00e9fono, identidad, contrato firmado, wallet creada). No recibe email: el servidor resuelve al usuario autenticado.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"bastanteo_user_profile","server":"bastanteo","description":"Devuelve el perfil del usuario autenticado en bastanteo (KYC\/onboarding): si es persona f\u00edsica o jur\u00eddica y si complet\u00f3 el proceso de bastanteo. No recibe email: el servidor resuelve al usuario autenticado.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"bastanteo_users_stats","server":"bastanteo","description":"Estad\u00edsticas GLOBALES de usuarios de Bastanteo: total, desglose por tipo de persona (jur\u00eddica\/f\u00edsica) y bastanteos finalizados vs. pendientes. Solo conteos. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"cancel_scheduled_task","server":"schedule","description":"Cancela (elimina), pausa o reactiva una tarea programada del usuario, identificada por su task_id (usa antes list_scheduled_tasks para obtenerlo). action puede ser \u0022cancel\u0022 (eliminar), \u0022pause\u0022 (desactivar temporalmente) o \u0022resume\u0022 (reactivar). No recibe identidad: el servidor sabe qui\u00e9n eres y solo permite operar sobre tus propias tareas.","inputSchema":{"type":"object","properties":{"task_id":{"type":"string","description":"Identificador de la tarea (UUID)."},"action":{"type":"string","enum":["cancel","pause","resume"],"description":"cancel = eliminar; pause = desactivar; resume = reactivar. Por defecto cancel."}},"required":["task_id"]}},{"name":"case_convert","server":"text","description":"Convierte un texto entre may\u00fasculas, min\u00fasculas, T\u00edtulo, snake_case, camelCase y kebab-case. \u00datil cuando el usuario quiere normalizar el estilo de un texto o identificador.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Texto a convertir"},"to":{"type":"string","enum":["upper","lower","title","snake","camel","kebab"],"description":"Estilo de destino: upper, lower, title, snake, camel o kebab"}},"required":["text","to"]}},{"name":"control_findings_digest","server":"control","description":"Devuelve las incidencias ABIERTAS acumuladas por los agentes de control, agrupadas por severidad (P1\/P2\/P3), para elaborar un parte consolidado. El alcance lo decide el rol: un super-administrador ve el parte GLOBAL, un administrador el de TODA SU CARTERA, y un usuario normal solo el suyo. Solo lectura.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"csv_to_json","server":"data","description":"Convierte texto CSV en JSON (array de objetos), usando la primera fila como cabecera de campos. \u00datil cuando el usuario quiere transformar datos tabulares CSV en estructuras JSON.","inputSchema":{"type":"object","properties":{"csv":{"type":"string","description":"Contenido CSV; la primera l\u00ednea son las cabeceras"},"delimiter":{"type":"string","description":"Delimitador de campos (por defecto \u0022,\u0022)","default":","}},"required":["csv"]}},{"name":"current_datetime","server":"datetime","description":"Devuelve la fecha y hora actuales en una zona horaria concreta (por defecto \u0022Europe\/Madrid\u0022): ISO 8601, timestamp Unix, fecha y hora legibles y d\u00eda de la semana. \u00datil cuando el usuario pregunta \u0022qu\u00e9 hora es\u0022 o necesita la fecha de hoy.","inputSchema":{"type":"object","properties":{"timezone":{"type":"string","description":"Zona horaria IANA, p. ej. \u0022Europe\/Madrid\u0022 o \u0022America\/New_York\u0022","default":"Europe\/Madrid"}},"required":[]}},{"name":"dashboard_bank_summary","server":"cuadro","description":"Devuelve el RESUMEN BANCARIO del cuadro de mandos del usuario autenticado: saldo agregado de sus cuentas y las 10 transacciones m\u00e1s recientes (de la agregaci\u00f3n bancaria de WealthReader). No recibe email: el servidor resuelve al usuario.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"dashboard_borme_cambios","server":"dashboard","description":"Cambios societarios publicados en el BORME (nombramientos\/ceses de administradores, cambios de objeto\/domicilio, disoluciones). SUPER-ADMINISTRADOR: actos recientes de toda la plataforma. ADMINISTRADOR: los de las empresas de su cartera (por raz\u00f3n social). Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_certificados_fiscales_adversos","server":"dashboard","description":"Certificados de Hacienda (AEAT) y Seguridad Social ADVERSOS \u2014 con deuda pendiente \u2014 a partir de los documentos analizados. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los usuarios de su cartera. Devuelve, por certificado, el veredicto (con deuda \/ al corriente \/ indeterminado) y la lista de los adversos con su importe. Solo consulta; el alcance lo decide tu rol. Los certificados \u0022indeterminados\u0022 no se pudieron clasificar y conviene revisarlos a mano.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_concursal_boe","server":"dashboard","description":"Publicidad CONCURSAL (Registro P\u00fablico Concursal) y publicaciones cr\u00edticas del BOE. SUPER-ADMINISTRADOR: publicaciones recientes de toda la plataforma. ADMINISTRADOR: las de las empresas de su cartera (por NIF). Se\u00f1ala concursos, insolvencias y publicaciones adversas. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_conexiones_bancarias","server":"dashboard","description":"Conexiones bancarias agregadas caducadas o desactualizadas en el Cuadro de Mandos. SUPER-ADMINISTRADOR: foto GLOBAL \u2014 cu\u00e1ntas conexiones est\u00e1n caducadas (\u00faltimo refresco anterior a 48 h), frescas o sin refrescar nunca. ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera), con qui\u00e9n tiene la conexi\u00f3n caducada y desde cu\u00e1ndo. Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_deterioro_financiero","server":"dashboard","description":"Deterioro financiero integral y cambio de scoring: \u00edndice 0-100 por cliente a partir de se\u00f1ales fiables (certificados fiscales con deuda + saldo bancario). SUPER-ADMINISTRADOR: ranking global de los clientes con m\u00e1s deterioro. ADMINISTRADOR: los usuarios de su cartera. Solo consulta; el alcance lo decide tu rol. (El componente ERP se marca no disponible por falta de hist\u00f3rico suficiente.)","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_documentacion_pendiente","server":"dashboard","description":"Documentaci\u00f3n financiera pendiente, en proceso o sin analizar en el Cuadro de Mandos. El alcance lo decide el ROL: un SUPER-ADMINISTRADOR obtiene el backlog GLOBAL de la plataforma (total y desglose por estado y por tipo de documento); un ADMINISTRADOR obtiene solo los usuarios de su cartera de empresas, con el backlog consolidado, el desglose por estado y los miembros con m\u00e1s acumulaci\u00f3n. Devuelve solo conteos: nunca el contenido del documento ni los datos extra\u00eddos. El origen no expone fechas de caducidad ni antig\u00fcedad, as\u00ed que \u00absin analizar\u00bb se cubre con los estados pendiente \/ en proceso \/ fallido. No recibe email: el \u00e1mbito se resuelve en el servidor.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_documents_analysis","server":"cuadro","description":"Devuelve el ESTADO del an\u00e1lisis de documentos fiscales\/financieros del usuario autenticado en el cuadro de mandos: total, conteo por estado (pendiente\/procesando\/completado\/fallido) y tipos de documento. No incluye el contenido extra\u00eddo. No recibe email: el servidor resuelve al usuario.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"dashboard_documents_backlog","server":"cuadro","description":"Backlog GLOBAL de an\u00e1lisis documental del Cuadro de Mandos: n\u00ba total de documentos pendientes o en proceso, con desglose por estado y por tipo de documento. Solo conteos agregados (sin contenido ni datos extra\u00eddos). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_erp_health","server":"cuadro","description":"Salud GLOBAL de los conectores ERP del Cuadro de Mandos: snapshots por estado (con tiempos), n\u00ba de ERPs pendientes de refresco y n\u00ba de snapshots con error en el rango. Solo agregados (sin credenciales ni datos crudos). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{"desde":{"type":"string","description":"Fecha inicio YYYY-MM-DD (por defecto hace 30 d\u00edas)."},"hasta":{"type":"string","description":"Fecha fin YYYY-MM-DD (por defecto hoy)."}},"required":[]}},{"name":"dashboard_erp_sincronizacion","server":"dashboard","description":"Estado de sincronizaci\u00f3n de los conectores ERP\/SII\/EDI del Cuadro de Mandos. El alcance lo decide tu rol: SUPERADMIN ve la salud GLOBAL (snapshots por estado, ERPs pendientes de refresco y snapshots con error en el rango); ADMIN ve solo los conectores de los usuarios de su cartera, con el estado de cada uno, las HORAS transcurridas desde su \u00faltimo refresco y cu\u00e1les est\u00e1n en error o nunca se han refrescado. Devuelve las horas en crudo: el umbral de \u0022desactualizado\u0022 lo aplica el agente. Solo consulta; nunca expone credenciales. Requiere rol de administrador.","inputSchema":{"type":"object","properties":{"desde":{"type":"string","description":"Fecha inicio YYYY-MM-DD del rango de snapshots (solo alcance global; por defecto hace 30 d\u00edas)."},"hasta":{"type":"string","description":"Fecha fin YYYY-MM-DD del rango de snapshots (solo alcance global; por defecto hoy)."},"limit":{"type":"integer","description":"N\u00ba m\u00e1ximo de conectores a listar en cada top (por defecto 10, m\u00e1x. 50)."}},"required":[]}},{"name":"dashboard_erp_summary","server":"cuadro","description":"Devuelve los ERPs conectados del usuario autenticado en el cuadro de mandos y su estado de sincronizaci\u00f3n (tipo, nombre, empresa, activo, \u00faltima actualizaci\u00f3n, errores y qu\u00e9 datos tiene). Nunca expone credenciales. No recibe email: el servidor resuelve al usuario.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"dashboard_kpi_snapshot","server":"cuadro","description":"Devuelve un RESUMEN EJECUTIVO (KPIs) del cuadro de mandos del usuario autenticado: saldo bancario agregado, n\u00ba de cuentas, documentos analizados y % completado, ERPs activos e incidencias. No recibe email: el servidor resuelve al usuario. \u00dasala para una visi\u00f3n global r\u00e1pida.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"dashboard_seguro_credito_adverso","server":"dashboard","description":"Avisos de SEGURO DE CR\u00c9DITO (Cr\u00e9dito y Cauci\u00f3n) \u2014 cambios adversos (impagos, siniestros, rebajas de cobertura). SUPER-ADMINISTRADOR: avisos recientes de toda la plataforma. ADMINISTRADOR: los de las empresas de su cartera (por su NIF\/raz\u00f3n social). Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"dashboard_tension_caja","server":"dashboard","description":"Posici\u00f3n de caja y tensi\u00f3n financiera en el Cuadro de Mandos. SUPER-ADMINISTRADOR: saldo bancario agregado global y cu\u00e1ntos usuarios est\u00e1n en tensi\u00f3n (saldo por debajo del umbral, negativo incluido). ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera), con qui\u00e9n tiene saldo negativo. Es una foto de posici\u00f3n, no una serie temporal. Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"date_diff","server":"datetime","description":"Calcula la diferencia entre dos fechas\/horas y la devuelve humanizada (a\u00f1os, meses, d\u00edas, horas, minutos, segundos) y en totales. \u00datil cuando el usuario pregunta cu\u00e1nto tiempo hay entre dos fechas o cu\u00e1ntos d\u00edas faltan para algo.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Fecha\/hora inicial en formato ISO 8601 o parseable"},"to":{"type":"string","description":"Fecha\/hora final en formato ISO 8601 o parseable"}},"required":["from","to"]}},{"name":"db_tables","server":"database","description":"Introspecciona el esquema de una base de datos (MySQL\/MariaDB o PostgreSQL). Sin \u0022table\u0022 devuelve la lista de tablas base; con \u0022table\u0022 devuelve sus columnas (nombre, tipo, si admite NULL y valor por defecto). \u00datil para que el agente sepa qu\u00e9 tablas y columnas existen antes de consultar.","inputSchema":{"type":"object","properties":{"engine":{"type":"string","enum":["mysql","postgres"],"description":"Motor de la base de datos: \u0022mysql\u0022 (incluye MariaDB) o \u0022postgres\u0022."},"host":{"type":"string","description":"Host o IP del servidor de base de datos."},"port":{"type":"integer","description":"Puerto. Por defecto 3306 (mysql) o 5432 (postgres)."},"database":{"type":"string","description":"Nombre de la base de datos."},"user":{"type":"string","description":"Usuario de conexi\u00f3n."},"password":{"type":"string","description":"Contrase\u00f1a del usuario (por defecto cadena vac\u00eda)."},"table":{"type":"string","description":"Opcional. Si se indica, devuelve las columnas de esa tabla en vez de la lista de tablas."},"schema":{"type":"string","description":"Opcional. Esquema a inspeccionar (solo postgres, por defecto \u0022public\u0022)."}},"required":["engine","host","database","user"]}},{"name":"deactivate_control_agent","server":"control","description":"Desactiva un \u0022agente de control\u0022 que el usuario ten\u00eda activado, identificado por su c\u00f3digo (p.ej. \u0022AG-006\u0022). Deja de ejecutarse y de enviar avisos. Usa list_control_agents para ver los activos.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"C\u00f3digo del agente de control a desactivar (p.ej. \u0022AG-006\u0022)."}},"required":["code"]}},{"name":"dns_lookup","server":"net","description":"Resuelve registros DNS de un host para un tipo concreto (A, AAAA, MX, TXT, NS o CNAME). \u00datil cuando el usuario quiere consultar la configuraci\u00f3n DNS de un dominio o host.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"Host o dominio a consultar, p. ej. \u0022smartescrow.es\u0022"},"type":{"type":"string","description":"Tipo de registro DNS a resolver (por defecto \u0022A\u0022)","enum":["A","AAAA","MX","TXT","NS","CNAME"],"default":"A"}},"required":["host"]}},{"name":"check_domain_health","server":"domain-health","description":"Comprueba la salud de correo de un dominio: registros MX, SPF, DKIM y DMARC. \u00datil cuando el usuario pregunta si un dominio est\u00e1 bien configurado para enviar correo.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Dominio a comprobar, p. ej. \u0022smartescrow.es\u0022"},"dkim_selector":{"type":"string","description":"Selector DKIM (por defecto \u0022default\u0022)","default":"default"}},"required":["domain"]}},{"name":"factoring_cobros_pendientes_conciliacion","server":"factoring","description":"Cobros de deudores PENDIENTES DE CONCILIACI\u00d3N en Factoring: operaciones ya vencidas cuyo cobro del deudor (devoluci\u00f3n de la financiaci\u00f3n) no est\u00e1 confirmado ni conciliado. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve el n\u00ba pendiente, el importe, cu\u00e1ntos llevan m\u00e1s de 90 d\u00edas y las m\u00e1s antiguas. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_concentracion_riesgo","server":"factoring","description":"Concentraci\u00f3n de riesgo y financiaci\u00f3n por DEUDOR (la empresa cliente de las facturas). SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera (fusionando deudores comunes). Devuelve la exposici\u00f3n viva total, el n\u00ba de deudores, los mayores por exposici\u00f3n y el % que concentra el mayor deudor y el top-5. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_desviacion_margen","server":"factoring","description":"Desviaci\u00f3n de MARGEN y RENTABILIDAD en Factoring: compara el beneficio del inversor REAL pagado con el ESPERADO seg\u00fan el anuncio. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve total esperado\/real, la desviaci\u00f3n absoluta y en %, y las operaciones con mayor desviaci\u00f3n. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_financiaciones_pendientes_desembolso","server":"factoring","description":"Financiaciones APROBADAS pero PENDIENTES DE DESEMBOLSO en Factoring (sin fecha o sin importe de recepci\u00f3n del dinero). SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve el n\u00ba pendiente, el importe aprobado pendiente, el desglose por motivo y ejemplos. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_fondeo_excepciones","server":"factoring","description":"Excepciones de fondeo y asignaci\u00f3n de inversores en Factoring: acci\u00f3n de fondear SIN inversor asignado, importe fondeado FUERA del rango [m\u00edn,m\u00e1x] del anuncio, y operaciones ANUNCIADAS pero sin fondear. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve el n\u00ba de operaciones afectadas por tipo, el total y ejemplos. Solo consulta.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_impagos","server":"factoring","description":"Impagos, recuperaciones y p\u00e9rdida esperada de Factoring. SUPER-ADMINISTRADOR: foto GLOBAL de las operaciones de un rango de fechas, con el importe en problemas (mora, ejecuci\u00f3n de garant\u00eda, impago) y el de las finalizadas impagadas o cobradas por el seguro de cr\u00e9dito, su peso sobre el importe total del periodo y la p\u00e9rdida esperada estimada. ADMINISTRADOR: el mismo control acotado a los usuarios de sus empresas asignadas (su cartera), con el importe impagado agregado, su peso y los peores casos. Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{"desde":{"type":"string","description":"Fecha inicio YYYY-MM-DD (por defecto hace 12 meses). Solo aplica al alcance global."},"hasta":{"type":"string","description":"Fecha fin YYYY-MM-DD (por defecto hoy). Solo aplica al alcance global."}},"required":[]}},{"name":"factoring_investment_detail","server":"factoring","description":"Devuelve el DETALLE de una inversi\u00f3n concreta del usuario autenticado en factoring (importes, beneficio, fechas, tipo, garant\u00edas, porcentajes). Requiere el id de la inversi\u00f3n. El servidor la acota al usuario; el equipo de SmartEscrow (staff) puede indicar otro usuario en \u0022usuario\u0022.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"investment_id":{"type":"string","description":"Id de la inversi\u00f3n (lo da factoring_investments)."}},"required":["investment_id"]}},{"name":"factoring_investments","server":"factoring","description":"Devuelve el listado paginado de inversiones\/operaciones del usuario autenticado en factoring (importe, retorno, beneficio, fechas, estado de pago). No recibe email: el servidor resuelve al usuario. Acepta paginaci\u00f3n opcional (page, limit).","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"page":{"type":"integer","description":"P\u00e1gina (por defecto 1)."},"limit":{"type":"integer","description":"Items por p\u00e1gina (por defecto 30, m\u00e1ximo 100)."}},"required":[]}},{"name":"factoring_operaciones_por_liquidar","server":"factoring","description":"Operaciones de Factoring ya VENCIDAS que siguen ABIERTAS (sin liquidar). SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve el n\u00ba de operaciones, los importes (invertido y a devolver), el desglose por antig\u00fcedad del vencimiento (hasta 30 \/ 31-90 \/ m\u00e1s de 90 d\u00edas) y las m\u00e1s antiguas con sus d\u00edas de retraso. Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_operaciones_por_vencer","server":"factoring","description":"Operaciones de Factoring que VENCEN en los pr\u00f3ximos d\u00edas (a\u00fan abiertas, sin liquidar). SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los financiados de su cartera. Devuelve el n\u00ba de operaciones, los importes (invertido y a devolver) y las m\u00e1s pr\u00f3ximas (operaci\u00f3n, fecha de vencimiento, importe). Argumento opcional dias (por defecto 7). Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{"dias":{"type":"integer","description":"Ventana en d\u00edas hacia adelante (por defecto 7)."}},"required":[]}},{"name":"factoring_operaciones_rotas","server":"factoring","description":"Operaciones de Factoring ROTAS o con datos incoherentes (integridad de datos). Detecta: acci\u00f3n de fondear o de pago a inversores SIN inversor asignado, fecha de fondeo POSTERIOR al pago (TIR irracional) y operaciones SIN factura asociada. Devuelve el n\u00ba de operaciones afectadas por cada problema, el total de operaciones rotas y unos IDs de ejemplo por tipo. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_operaciones_vencidas","server":"factoring","description":"Operaciones de Factoring VENCIDAS que siguen con saldo pendiente (mora, ejecuci\u00f3n de garant\u00eda, impago). El alcance lo decide el ROL, no un argumento: un SUPER-ADMINISTRADOR obtiene la foto GLOBAL de la plataforma en el rango de fechas (n\u00ba de operaciones e importe vivo por grupo de estado); un ADMINISTRADOR obtiene solo la de los usuarios de las empresas de su cartera (importe vivo agregado, reparto por tipo de usuario y los miembros con m\u00e1s saldo pendiente). No acepta email: el servidor resuelve el \u00e1mbito. Solo consulta; requiere rol de administrador.","inputSchema":{"type":"object","properties":{"desde":{"type":"string","description":"Fecha inicio YYYY-MM-DD (por defecto hace 12 meses). Solo aplica al alcance global."},"hasta":{"type":"string","description":"Fecha fin YYYY-MM-DD (por defecto hoy). Solo aplica al alcance global."}},"required":[]}},{"name":"factoring_operations_summary","server":"factoring","description":"Resumen GLOBAL de operaciones de Factoring en un rango de fechas, agrupadas por estado (finalizadas, en vuelo, con problemas, finalizadas con impago) con n\u00ba de operaciones e importes agregados (dinero invertido, beneficio del inversor y de la plataforma). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{"desde":{"type":"string","description":"Fecha inicio YYYY-MM-DD (por defecto hace 12 meses)."},"hasta":{"type":"string","description":"Fecha fin YYYY-MM-DD (por defecto hoy)."}},"required":[]}},{"name":"factoring_pagos_inversores_pendientes","server":"factoring","description":"Pagos a inversores PENDIENTES o incompletos en Factoring: no devueltos, incompletos, con retenci\u00f3n o sin inversor asignado. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los inversores de su cartera. Devuelve n\u00ba de pagos pendientes, desglose por motivo e importes (invertido pendiente, intereses, retenido). Solo consulta; el alcance lo decide tu rol.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_portfolio_stats","server":"factoring","description":"Devuelve KPIs GLOBALES de la cartera de Factoring: beneficio neto de plataforma (pagos, cobros y beneficio) y conteos globales (n\u00ba de inversores, financiados y operaciones). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"factoring_user_profile","server":"factoring","description":"Devuelve el PERFIL del usuario autenticado en factoring: si es inversor o financiado, raz\u00f3n social, NIF\/CIF, nombre de empresa y nacionalidad. No recibe email\/identificador: el servidor resuelve al usuario autenticado. \u00dasala cuando pregunte por su perfil de factoring.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"factoring_user_statistics","server":"factoring","description":"Devuelve las ESTAD\u00cdSTICAS agregadas del usuario autenticado en factoring: n\u00famero de inversiones\/operaciones, total invertido o recibido, total pagado y beneficio. No recibe email: el servidor resuelve al usuario. \u00dasala para un resumen de su actividad de factoring.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"factoring_users_count","server":"factoring","description":"Devuelve el conteo GLOBAL de usuarios de Factoring: n\u00ba de inversores, n\u00ba de financiados y n\u00ba total de operaciones. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"firmadoc_calidad_plantillas","server":"firmadoc","description":"Calidad de las plantillas de FirmaDoc y de los env\u00edos que acaban mal: plantillas sin uso, env\u00edos cancelados y expirados, y las plantillas con mayor tasa de fallo (proporci\u00f3n de sus env\u00edos que terminan cancelados o expirados). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"firmadoc_contratos_pendientes","server":"firmadoc","description":"Contratos de FirmaDoc pendientes de firma o pr\u00f3ximos a expirar, con su estado, cu\u00e1ntos firmantes faltan y los d\u00edas que quedan hasta la expiraci\u00f3n (negativo si ya venci\u00f3). El alcance lo decide tu ROL: un administrador ve los contratos de su cartera y un super-administrador los de toda la plataforma. Solo lectura.","inputSchema":{"type":"object","properties":{"dias_aviso":{"type":"integer","description":"Ventana de pr\u00f3ximos vencimientos a consultar en d\u00edas (1-365, por defecto 30). Solo aplica al alcance global."}},"required":[]}},{"name":"firmadoc_trazabilidad_firmas","server":"firmadoc","description":"Revisa la integridad y la trazabilidad de las firmas en FirmaDoc: contratos marcados como firmados a los que les faltan firmas en la auditor\u00eda, firmas de direcciones que no eran receptores del acuerdo, y acuerdos sin traza de actividad. El alcance lo decide tu ROL (administrador \u2192 su cartera; super-administrador \u2192 toda la plataforma). Solo lectura.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"hash_text","server":"crypto-utils","description":"Calcula el hash de un texto con md5, sha1, sha256 o sha512 y lo devuelve en hexadecimal. \u00datil para verificar integridad o generar huellas de un texto.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Texto a hashear"},"algo":{"type":"string","enum":["md5","sha1","sha256","sha512"],"description":"Algoritmo de hash (por defecto \u0022sha256\u0022)","default":"sha256"}},"required":["text"]}},{"name":"http_api_request","server":"web","description":"Llama a una API REST (interna de SmartEscrow o del cliente) con el m\u00e9todo, cabeceras, query string y cuerpo (JSON o texto) indicados, y devuelve la respuesta: estado HTTP, content-type, un subconjunto seguro de cabeceras, el cuerpo (truncado a 20000 caracteres) y, si la respuesta es JSON, el cuerpo decodificado. AVISO DE SEGURIDAD: es un fetch ejecutado en el servidor y puede apuntar a URLs arbitrarias (riesgo de SSRF); \u00fasalo solo con APIs internas o del cliente, nunca con URLs no confiables.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"URL absoluta del endpoint a invocar."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE","HEAD"],"description":"M\u00e9todo HTTP. Por defecto GET."},"headers":{"type":"object","description":"Cabeceras de la petici\u00f3n (clave =\u003E valor)."},"query":{"type":"object","description":"Par\u00e1metros de la query string (clave =\u003E valor)."},"json":{"type":"object","description":"Cuerpo de la petici\u00f3n serializado como JSON. Tiene prioridad sobre \u0022body\u0022."},"body":{"type":"string","description":"Cuerpo crudo de la petici\u00f3n (texto). Ignorado si se indica \u0022json\u0022."},"bearer_token":{"type":"string","description":"Token a enviar como cabecera Authorization: Bearer \u003Ctoken\u003E."},"timeout":{"type":"integer","description":"Tiempo m\u00e1ximo de espera en segundos. Por defecto 20."}},"required":["url"]}},{"name":"http_status","server":"web","description":"Hace una petici\u00f3n GET a una URL y devuelve el c\u00f3digo de estado HTTP, el content-type, el tama\u00f1o en bytes del cuerpo y el tiempo total en milisegundos. \u00datil para comprobar si una URL est\u00e1 disponible y c\u00f3mo responde.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"URL absoluta a consultar, p. ej. \u0022https:\/\/smartescrow.es\u0022"}},"required":["url"]}},{"name":"ip_info","server":"net","description":"Resuelve un hostname a sus direcciones IP (v4 y v6) y, si se le pasa una IP, intenta el reverse DNS (PTR). \u00datil para saber a qu\u00e9 IPs apunta un host.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"Hostname o direcci\u00f3n IP (v4\/v6) a inspeccionar"}},"required":["host"]}},{"name":"json_tool","server":"data","description":"Valida y formatea texto JSON. Operaciones: \u0022validate\u0022 (comprueba si es JSON v\u00e1lido), \u0022pretty\u0022 (lo indenta de forma legible) y \u0022minify\u0022 (lo compacta sin espacios). \u00datil cuando el usuario quiere comprobar, embellecer o compactar un JSON.","inputSchema":{"type":"object","properties":{"input":{"type":"string","description":"Texto JSON de entrada"},"op":{"type":"string","enum":["validate","pretty","minify"],"description":"Operaci\u00f3n a realizar (por defecto \u0022validate\u0022)","default":"validate"}},"required":["input"]}},{"name":"jwt_decode","server":"crypto-utils","description":"Decodifica (SIN verificar la firma) el header y el payload de un JWT y muestra sus claims. ATENCI\u00d3N: no valida la firma ni la caducidad, solo decodifica para inspecci\u00f3n. \u00datil para depurar tokens, nunca para confiar en ellos.","inputSchema":{"type":"object","properties":{"token":{"type":"string","description":"JWT a decodificar (formato header.payload.signature)"}},"required":["token"]}},{"name":"list_control_agents","server":"control","description":"Lista los \u0022agentes de control\u0022 (revisiones autom\u00e1ticas por excepci\u00f3n, solo lectura) que el usuario puede activar, con su periodicidad, prioridad y si ya est\u00e1n activos. \u00dasala cuando el usuario pregunte qu\u00e9 controles\/vigilancias autom\u00e1ticas tiene disponibles o activadas.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"list_scheduled_tasks","server":"schedule","description":"Lista las tareas programadas (recurrentes) del usuario: su nombre, cadencia, pr\u00f3xima ejecuci\u00f3n y estado. \u00dasala cuando el usuario pregunte qu\u00e9 tareas tiene activas o quiera revisarlas antes de cancelar\/pausar alguna. No recibe identidad: el servidor sabe qui\u00e9n eres.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"lorem_ipsum","server":"text","description":"Genera texto de relleno (lorem ipsum) con el n\u00famero de p\u00e1rrafos y de palabras por p\u00e1rrafo indicados. \u00datil cuando el usuario necesita contenido de prueba para maquetar.","inputSchema":{"type":"object","properties":{"paragraphs":{"type":"integer","description":"N\u00famero de p\u00e1rrafos a generar (por defecto 1)","default":1,"minimum":1},"words_per_paragraph":{"type":"integer","description":"N\u00famero de palabras por p\u00e1rrafo (por defecto 40)","default":40,"minimum":1}},"required":[]}},{"name":"master_data_duplicates","server":"ecosistema","description":"Consistencia de maestros y DUPLICADOS de clientes en el ecosistema: cruza los censos de identidad (email, NIF, nombre) de factoring, ProntoPago y wallet, y detecta el mismo NIF con varios emails distintos (posibles maestros duplicados) o con nombres incoherentes entre plataformas. Consulta GLOBAL del ecosistema; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"mcp_health_check","server":"control","description":"Comprueba la salud de las APIs\/MCP de datos del ecosistema (wallet, factoring, prontopago, cuadro de mandos, bastanteo y SSO): estado OK\/DEGRADED\/DOWN, latencia y c\u00f3digo HTTP de cada una. \u00dasala para detectar servicios ca\u00eddos o lentos que dejar\u00edan ciegos a los agentes. Solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"mysql_query","server":"database","description":"Ejecuta una consulta de SOLO LECTURA (SELECT\/SHOW\/EXPLAIN\/DESCRIBE\/WITH) contra una base de datos MySQL o MariaDB de un cliente y devuelve las filas resultantes. Rechaza cualquier sentencia que modifique datos. Aplica un LIMIT defensivo si la consulta no lo incluye.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"Host o IP del servidor MySQL\/MariaDB, p. ej. \u0022db.cliente.com\u0022."},"port":{"type":"integer","description":"Puerto TCP del servidor (por defecto 3306).","default":3306},"database":{"type":"string","description":"Nombre de la base de datos a consultar."},"user":{"type":"string","description":"Usuario de conexi\u00f3n. Se recomienda un usuario de solo lectura."},"password":{"type":"string","description":"Contrase\u00f1a del usuario (cadena vac\u00eda por defecto).","default":""},"query":{"type":"string","description":"Consulta SQL de solo lectura (una sola sentencia, sin \u0022;\u0022)."},"limit":{"type":"integer","description":"M\u00e1ximo de filas a devolver (por defecto 100, m\u00e1ximo 1000).","default":100}},"required":["host","database","user","query"]}},{"name":"password_strength","server":"crypto-utils","description":"Eval\u00faa la fortaleza de una contrase\u00f1a analizando su longitud, las clases de caracteres que usa, una estimaci\u00f3n de entrop\u00eda en bits y un veredicto. \u00datil para orientar al usuario sobre si una contrase\u00f1a es d\u00e9bil o robusta. No almacena ni transmite la contrase\u00f1a.","inputSchema":{"type":"object","properties":{"password":{"type":"string","description":"Contrase\u00f1a a evaluar"}},"required":["password"]}},{"name":"postgres_query","server":"database","description":"Ejecuta UNA consulta de solo lectura (SELECT, SHOW, EXPLAIN, DESCRIBE o WITH) contra una base de datos PostgreSQL y devuelve las filas. Las consultas que modifican datos est\u00e1n bloqueadas. Se aplica un LIMIT por defecto para no traer demasiadas filas. \u00datil para inspeccionar datos de una BD Postgres del cliente.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"Host del servidor PostgreSQL, p. ej. \u0022database\u0022 o \u0022127.0.0.1\u0022."},"port":{"type":"integer","description":"Puerto del servidor PostgreSQL.","default":5432},"database":{"type":"string","description":"Nombre de la base de datos a la que conectar."},"user":{"type":"string","description":"Usuario de la BD (se recomienda uno de solo lectura)."},"password":{"type":"string","description":"Contrase\u00f1a del usuario de la BD.","default":""},"query":{"type":"string","description":"Consulta SQL de solo lectura (una sola sentencia, sin \u0022;\u0022)."},"limit":{"type":"integer","description":"M\u00e1ximo de filas a devolver (1-1000).","default":100}},"required":["host","database","user","query"]}},{"name":"project_query","server":"database","description":"Ejecuta una consulta de SOLO LECTURA (SELECT\/WITH) contra la base de datos de un PROYECTO del cliente identificado por nombre (p. ej. \u0022wallet\u0022 o \u0022factoring\u0022). Las credenciales NO se exponen: se resuelven en el servidor por el nombre del proyecto. Los resultados se acotan SIEMPRE, en el servidor, al email del usuario autenticado: el backend fuerza el filtro por usuario, as\u00ed que NO es posible leer datos de terceros y NO debes incluir ning\u00fan email\/usuario en la consulta (se ignora). Usa el campo \u0022project\u0022 con uno de los proyectos disponibles y una consulta SELECT sobre las tablas del proyecto.","inputSchema":{"type":"object","properties":{"project":{"type":"string","description":"Nombre del proyecto del cliente (p. ej. \u0022wallet\u0022, \u0022factoring\u0022). Lista en el contexto."},"query":{"type":"string","description":"Consulta SQL de solo lectura (SELECT\/WITH). NO a\u00f1adas filtros por email\/usuario: el servidor acota al usuario autenticado autom\u00e1ticamente."},"limit":{"type":"integer","description":"M\u00e1ximo de filas (por defecto 100, m\u00e1ximo 1000)."}},"required":["project","query"]}},{"name":"prontopago_active_rules","server":"prontopago","description":"Devuelve las REGLAS configuradas para el usuario autenticado en prontopago: elegibilidad, fechas de vencimiento, l\u00edmites, m\u00e9todos de pago y grupos de descuento. No recibe email: el servidor resuelve al usuario. \u00dasala cuando pregunte por sus reglas\/condiciones.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"prontopago_adelantadas_sin_pago","server":"prontopago","description":"Facturas ya ADELANTADAS cuyo pago al proveedor todav\u00eda est\u00e1 pendiente. SUPER-ADMINISTRADOR: total global (n\u00ba de facturas, importe y desglose por estado). ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera). Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"prontopago_calidad_transiciones","server":"prontopago","description":"Calidad de las transiciones de estado de las facturas de pronto pago. Detecta se\u00f1ales de proceso deficiente: cambios sin efecto (noop), retrocesos de estado, salidas indebidas de un estado ya pagado, alto ratio de cambios manuales y facturas con demasiados reprocesos. SUPER-ADMINISTRADOR: toda la plataforma. ADMINISTRADOR: los usuarios de su cartera. Argumento opcional days (ventana, por defecto 30). Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{"days":{"type":"integer","description":"Ventana en d\u00edas hacia atr\u00e1s (por defecto 30)."}},"required":[]}},{"name":"prontopago_cobros_proximos","server":"prontopago","description":"Cobros de clientes pr\u00f3ximos a vencimiento en ProntoPago: facturas cuyo vencimiento cae en los pr\u00f3ximos d\u00edas y siguen en un estado cobrable. SUPER-ADMINISTRADOR: total global (n\u00ba de facturas, importe y desglose por estado). ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera). Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{"dias":{"type":"integer","description":"Ventana en d\u00edas hacia delante (por defecto 7)."}},"required":[]}},{"name":"prontopago_cobros_vencidos","server":"prontopago","description":"Facturas VENCIDAS y cobros no recibidos en ProntoPago: n\u00ba de facturas, importe total, desglose por estado y los clientes con m\u00e1s importe vencido (los m\u00e1s graves primero). El alcance lo decide tu ROL: SUPER-ADMIN obtiene el agregado GLOBAL de la plataforma; ADMIN solo los usuarios de las empresas de su cartera. No acepta email: el servidor resuelve el \u00e1mbito. Solo consulta; requiere rol de administrador.","inputSchema":{"type":"object","properties":{"top":{"type":"integer","description":"N\u00ba de clientes en el ranking por importe vencido (por defecto 10, m\u00e1ximo 25). Solo aplica al alcance de cartera."}},"required":[]}},{"name":"prontopago_elegibles_sin_adelanto","server":"prontopago","description":"Facturas ELEGIBLES para pronto pago cuyo cliente a\u00fan NO ha solicitado el adelanto \u2014 oportunidad comercial. SUPER-ADMINISTRADOR: total global de facturas elegibles sin adelantar, su importe y el desglose por estado. ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera). Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"prontopago_expired_invoices","server":"prontopago","description":"Resumen GLOBAL de facturas VENCIDAS en ProntoPago: n\u00ba total, importe total y desglose por estado. Solo agregados (sin lista de facturas ni datos de clientes). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"prontopago_facturas_sin_validar","server":"prontopago","description":"Facturas de ProntoPago pendientes de validaci\u00f3n, con su desglose por estado e importe. El alcance lo decide tu ROL: un administrador ve las facturas de las empresas de su cartera y un super-administrador las de toda la plataforma. No expone la lista de facturas ni datos personales, solo agregados y los clientes con m\u00e1s pendiente. Solo lectura.","inputSchema":{"type":"object","properties":{"top":{"type":"integer","description":"Cu\u00e1ntos clientes destacar (1-25, por defecto 10). Solo aplica al alcance de cartera."}},"required":[]}},{"name":"prontopago_invoices_summary","server":"prontopago","description":"Devuelve un RESUMEN de las facturas del usuario autenticado en prontopago: n\u00famero total, pendientes de pago, conteo por estado e importe total. No recibe email: el servidor resuelve al usuario. \u00dasala para una visi\u00f3n r\u00e1pida de la facturaci\u00f3n del usuario.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"prontopago_no_elegibles","server":"prontopago","description":"Facturas NO ELEGIBLES para pronto pago \u2014 las que las reglas de elegibilidad bloquean (causas de no elegibilidad). SUPER-ADMINISTRADOR: total global (n\u00ba de facturas, importe y desglose por estado). ADMINISTRADOR: lo mismo acotado a los usuarios de sus empresas asignadas (su cartera). Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"prontopago_pending_summary","server":"prontopago","description":"Resumen GLOBAL de facturas PENDIENTES de procesar en ProntoPago (clientes activos): n\u00ba total, importe total y desglose por estado. Solo agregados (sin lista de facturas ni datos de clientes). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"prontopago_rule_engine_anomalies","server":"prontopago","description":"Ejecuciones AN\u00d3MALAS del motor de reglas de ProntoPago (cron): fallos de ejecuci\u00f3n (con su mensaje de error) y frescura del cron (horas desde la \u00faltima ejecuci\u00f3n; avisa si el motor lleva demasiado sin correr = posible ca\u00edda). Argumento opcional horas (ventana, por defecto 72). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{"horas":{"type":"integer","description":"Ventana en horas hacia atr\u00e1s (por defecto 72)."}},"required":[]}},{"name":"prontopago_unpaid_invoices","server":"prontopago","description":"Devuelve la lista de FACTURAS PENDIENTES de pago del usuario autenticado en prontopago (n\u00famero, importe, estado, fecha de vencimiento, si est\u00e1 vencida), ordenadas por vencimiento. No recibe email: el servidor resuelve al usuario. Acepta limit opcional.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"limit":{"type":"integer","description":"M\u00e1ximo de facturas a devolver (por defecto 50, m\u00e1ximo 50)."}},"required":[]}},{"name":"prontopago_user_profile","server":"prontopago","description":"Devuelve el PERFIL del usuario autenticado en prontopago: raz\u00f3n social, NIF de empresa, roles (proveedor\/cliente), IBAN de proveedor y estado. No recibe email: el servidor resuelve al usuario autenticado. \u00dasala cuando pregunte por su perfil en prontopago.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"redis_get","server":"cache","description":"Lee claves de un servidor Redis del cliente (solo lectura). Soporta las operaciones get, mget, keys, ttl, type, exists, hgetall, llen, scard y strlen. Rechaza cualquier operaci\u00f3n de escritura o destructiva. \u00datil para inspeccionar el contenido de un Redis sin riesgo de modificarlo.","inputSchema":{"type":"object","properties":{"host":{"type":"string","description":"Host del servidor Redis, p. ej. \u0022127.0.0.1\u0022 o \u0022cache\u0022."},"port":{"type":"integer","description":"Puerto del servidor Redis.","default":6379},"db":{"type":"integer","description":"\u00cdndice de la base de datos a seleccionar.","default":0},"password":{"type":"string","description":"Contrase\u00f1a para AUTH (opcional)."},"op":{"type":"string","description":"Operaci\u00f3n de lectura a ejecutar.","enum":["get","mget","keys","ttl","type","exists","hgetall","llen","scard","strlen"],"default":"get"},"key":{"type":"string","description":"Clave sobre la que operar (para get, ttl, type, exists, hgetall, llen, scard, strlen)."},"keys":{"type":"array","items":{"type":"string"},"description":"Lista de claves (para la operaci\u00f3n mget)."},"pattern":{"type":"string","description":"Patr\u00f3n de b\u00fasqueda para la operaci\u00f3n keys.","default":"*"},"limit":{"type":"integer","description":"N\u00famero m\u00e1ximo de resultados devueltos por keys.","default":200}},"required":["host"]}},{"name":"regex_test","server":"data","description":"Prueba un patr\u00f3n de expresi\u00f3n regular (PCRE) contra un texto y devuelve si hay coincidencia y los grupos capturados. \u00datil cuando el usuario quiere validar o depurar una regex.","inputSchema":{"type":"object","properties":{"pattern":{"type":"string","description":"Patr\u00f3n regex sin delimitadores, p. ej. \u0022(\\d+)-(\\d+)\u0022"},"subject":{"type":"string","description":"Texto sobre el que aplicar el patr\u00f3n"},"flags":{"type":"string","description":"Modificadores PCRE, p. ej. \u0022i\u0022, \u0022im\u0022 (por defecto \u0022\u0022)","default":""}},"required":["pattern","subject"]}},{"name":"report_control_findings","server":"control","description":"Registra las incidencias detectadas por un agente de control y devuelve cu\u00e1les hay que COMUNICAR (nuevas, cambiadas o con recordatorio a las 24 h) y cu\u00e1ntas se silencian por deduplicaci\u00f3n. Cada incidencia: entity (entidad\/NIF), identifier (id de operaci\u00f3n\/factura), type, severity (P1\/P2\/P3), summary, y opcionalmente amount, currency y source. Llama a esta tool con TODAS las incidencias detectadas y comunica al usuario solo las devueltas en \u0022report\u0022.","inputSchema":{"type":"object","properties":{"findings":{"type":"array","description":"Lista de incidencias detectadas en esta ejecuci\u00f3n.","items":{"type":"object","properties":{"entity":{"type":"string","description":"Entidad \/ empresa \/ nombre afectado."},"nif":{"type":"string","description":"NIF\/CIF de la entidad, si se conoce."},"identifier":{"type":"string","description":"Identificador (operaci\u00f3n, factura, recibo\u2026)."},"type":{"type":"string","description":"Tipo de incidencia."},"severity":{"type":"string","enum":["P1","P2","P3"]},"summary":{"type":"string","description":"Descripci\u00f3n breve de la incidencia."},"cause":{"type":"string","description":"Por qu\u00e9 es una incidencia (causa)."},"recommended_action":{"type":"string","description":"Acci\u00f3n humana recomendada. Solo propuesta: nunca la ejecutes."},"evidence":{"type":"object","description":"Datos concretos que sustentan la incidencia (objeto libre)."},"date":{"type":"string","description":"Fecha del HECHO (vencimiento, cargo, expiraci\u00f3n\u2026), no de la revisi\u00f3n. ISO-8601."},"amount":{"type":"string","description":"Importe (opcional)."},"currency":{"type":"string","description":"Moneda (opcional)."},"source":{"type":"string","description":"Fuente\/plataforma o API de la que sale el dato."}},"required":["summary","severity"]}},"agent_code":{"type":"string","description":"Opcional: c\u00f3digo del agente de control (p.ej. \u0022AG-015\u0022)."}},"required":["findings"]}},{"name":"schedule_task","server":"schedule","description":"Programa una tarea recurrente que se ejecutar\u00e1 autom\u00e1ticamente en segundo plano y cuyo resultado se entregar\u00e1 al usuario por Telegram sin que tenga que volver a preguntar. \u00dasala cuando el usuario pida algo peri\u00f3dico (\u0022cada lunes\u0022, \u0022cada ma\u00f1ana\u0022, \u0022todos los d\u00edas a las 9\u0022). La cadencia se expresa en formato CRON est\u00e1ndar de 5 campos (minuto hora d\u00eda-mes mes d\u00eda-semana); p.ej. \u00220 9 * * 1\u0022 = lunes a las 9:00. \u0022instruction\u0022 es lo que el agente debe hacer en cada ejecuci\u00f3n (p.ej. \u0022consulta mi saldo de wallet y d\u00edmelo\u0022). Si el usuario quiere ser avisado solo cuando se cumpla una condici\u00f3n num\u00e9rica, usa alert_mode=\u0022threshold\u0022 con alert_condition. No incluyas datos de identidad: el servidor sabe qui\u00e9n eres.","inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Nombre corto y legible de la tarea (p.ej. \u0022Saldo wallet semanal\u0022)."},"instruction":{"type":"string","description":"Qu\u00e9 debe hacer el agente en cada ejecuci\u00f3n, en lenguaje natural."},"cron":{"type":"string","description":"Cadencia en formato cron de 5 campos. Ej: \u00220 9 * * 1\u0022 (lunes 9:00), \u00220 8 * * *\u0022 (cada d\u00eda 8:00)."},"timezone":{"type":"string","description":"Zona horaria IANA opcional (p.ej. \u0022Europe\/Madrid\u0022). Si se omite, se usa la del usuario."},"alert_mode":{"type":"string","enum":["always","threshold"],"description":"always = entregar siempre; threshold = entregar solo si se cumple alert_condition. Por defecto always."},"alert_condition":{"type":"object","description":"Solo si alert_mode=threshold. Condici\u00f3n num\u00e9rica sobre el resultado.","properties":{"metric":{"type":"string","description":"Nombre del dato a vigilar (p.ej. \u0022balance\u0022)."},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","neq"]},"threshold":{"type":"number"}}},"agent":{"type":"string","description":"Opcional: sId del agente que ejecutar\u00e1 la tarea. Por defecto, el agente actual."}},"required":["title","instruction","cron"]}},{"name":"slugify","server":"text","description":"Convierte un texto en un slug apto para URLs (min\u00fasculas, sin acentos, palabras unidas por un separador). \u00datil cuando el usuario necesita un identificador legible para una URL.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Texto a convertir en slug"},"separator":{"type":"string","description":"Separador entre palabras (por defecto \u0022-\u0022)","default":"-"}},"required":["text"]}},{"name":"sso_authorized_projects","server":"sso","description":"Devuelve la lista de PROYECTOS\/servicios de SmartEscrow a los que el usuario autenticado tiene acceso autorizado (p. ej. wallet, factoring, prontopago, cuadro, bastanteo). No recibe argumentos: el servidor resuelve al usuario autenticado. \u00datil para saber qu\u00e9 datos puedes consultarle.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"sso_roles_audit","server":"sso","description":"Audita los roles del SSO: detecta administradores SIN cartera de empresas asignada (no ver\u00edan datos) y lista los super-administradores. Consulta GLOBAL de seguridad funcional; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"sso_search_users","server":"sso","description":"Busca usuarios en el SSO de SmartEscrow por t\u00e9rmino parcial (email, nombre, apellidos, NIF\/CIF o empresa) y devuelve email + nombre + NIF + empresa + roles + estado. \u00dasala para LOCALIZAR a un cliente (y su email) antes de consultarlo en wallet\/factoring\/etc. Consulta GLOBAL de la base de usuarios; solo super-administradores.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"T\u00e9rmino de b\u00fasqueda (m\u00ednimo 2 caracteres): parte del email, nombre, NIF\/CIF o empresa."},"limit":{"type":"integer","description":"M\u00e1ximo de resultados (por defecto 10, m\u00e1ximo 25)."}},"required":["q"]}},{"name":"sso_user_profile","server":"sso","description":"Devuelve el PERFIL del usuario autenticado en el SSO de SmartEscrow: nombre, email, roles, tipo de persona, NIF\/empresa, estado de la cuenta y los proyectos a los que tiene acceso. No recibe ni necesita ning\u00fan email\/identificador: el servidor resuelve al usuario autenticado. \u00dasala cuando el usuario pregunte por sus datos de cuenta, su perfil o qui\u00e9n es.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"sso_users_by_role","server":"sso","description":"Lista los usuarios del SSO que tienen un rol concreto (p. ej. ROLE_ADMIN, ROLE_INVERSOR, ROLE_FINANCIADO, ROLE_PROVEEDOR, ROLE_CLIENTE, ROLE_SUPER_ADMIN) con email, nombre, NIF, empresa y estado. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{"role":{"type":"string","description":"Rol a filtrar, p. ej. \u0022ROLE_INVERSOR\u0022, \u0022ROLE_ADMIN\u0022, \u0022ROLE_FINANCIADO\u0022."},"limit":{"type":"integer","description":"M\u00e1ximo de resultados (por defecto 100, m\u00e1ximo 200)."}},"required":["role"]}},{"name":"sso_users_stats","server":"sso","description":"Devuelve estad\u00edsticas agregadas de la base de usuarios del SSO: total, activos y conteo por rol (super-admin, admin, inversor, financiado, proveedor, cliente). Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"text_stats","server":"text","description":"Cuenta palabras, caracteres (con y sin espacios), l\u00edneas y frases de un texto, y estima el tiempo de lectura. \u00datil cuando el usuario quiere medir la longitud de un texto.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Texto a analizar"}},"required":["text"]}},{"name":"timezone_convert","server":"datetime","description":"Convierte una fecha\/hora de una zona horaria a otra. \u00datil cuando el usuario quiere saber qu\u00e9 hora ser\u00e1 en otra ciudad o regi\u00f3n para un instante concreto.","inputSchema":{"type":"object","properties":{"datetime":{"type":"string","description":"Fecha\/hora a convertir en formato ISO 8601 o parseable, p. ej. \u00222026-06-01 18:30\u0022"},"from":{"type":"string","description":"Zona horaria IANA de origen, p. ej. \u0022Europe\/Madrid\u0022"},"to":{"type":"string","description":"Zona horaria IANA de destino, p. ej. \u0022America\/New_York\u0022"}},"required":["datetime","from","to"]}},{"name":"url_metadata","server":"web","description":"Descarga una URL HTML y extrae sus metadatos b\u00e1sicos: el \u003Ctitle\u003E, la meta description y el og:title de Open Graph. \u00datil para obtener una vista previa de una p\u00e1gina web.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"URL absoluta de una p\u00e1gina HTML, p. ej. \u0022https:\/\/smartescrow.es\u0022"}},"required":["url"]}},{"name":"uuid_generate","server":"crypto-utils","description":"Genera identificadores UUID. Soporta v4 (aleatorio) y v7 (ordenable por tiempo). \u00datil cuando el usuario necesita uno o varios identificadores \u00fanicos.","inputSchema":{"type":"object","properties":{"version":{"type":"string","enum":["v4","v7"],"description":"Versi\u00f3n del UUID (por defecto \u0022v7\u0022)","default":"v7"},"count":{"type":"integer","description":"Cantidad de UUID a generar (1-100, por defecto 1)","default":1,"minimum":1,"maximum":100}},"required":[]}},{"name":"wallet_account_details","server":"wallet","description":"Devuelve el ESTADO DE CUENTA EN VIVO de la wallet del usuario autenticado, consultado a Sefide: IBAN, saldo disponible, divisa, estado operativo de la cuenta y bloqueos (normativo\/operativo). No recibe ni necesita ning\u00fan email\/identificador: el servidor resuelve al usuario autenticado y consulta SOLO su cuenta. \u00dasala cuando el usuario pregunte por su IBAN, el estado de su cuenta o los detalles de su wallet (m\u00e1s all\u00e1 del saldo).","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."}},"required":[]}},{"name":"wallet_balance","server":"wallet","description":"Devuelve el SALDO REAL y EN VIVO de la wallet del usuario autenticado, consultado a Sefide (la fuente de verdad), no a la base de datos (que est\u00e1 desincronizada). No recibe ni necesita ning\u00fan email\/identificador: el servidor resuelve al usuario autenticado y consulta SOLO su wallet. Devuelve el saldo disponible, la divisa y el estado operativo de la cuenta. \u00dasala SIEMPRE que el usuario pregunte por su saldo, dinero disponible o estado de su wallet.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"wallet_clients_by_status","server":"wallet","description":"Lista los clientes de wallet cuyo estado de operaci\u00f3n coincide con el indicado (p.ej. \u0022En Mora\u0022, \u0022Con Incidencia\u0022, \u0022Financiada\u0022). Consulta GLOBAL; solo super-administradores. Requiere el par\u00e1metro \u0022status\u0022.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Estado de operaci\u00f3n a filtrar (obligatorio)."},"limit":{"type":"integer","description":"M\u00e1ximo a devolver (por defecto 100, m\u00e1ximo 200)."}},"required":["status"]}},{"name":"wallet_direct_debits","server":"wallet","description":"Devuelve las DOMICILIACIONES\/adeudos directos recibidos (recibos) EN VIVO de la wallet del usuario autenticado, consultados a Sefide. No recibe email\/identificador: el servidor resuelve al usuario autenticado. Acepta filtros opcionales por fechas (fecha_inicio, fecha_fin en formato YYYY-MM-DD) y limit. \u00dasala cuando el usuario pregunte por sus recibos o qui\u00e9n le domicilia pagos.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"fecha_inicio":{"type":"string","description":"Fecha inicial del rango (YYYY-MM-DD). Opcional."},"fecha_fin":{"type":"string","description":"Fecha final del rango (YYYY-MM-DD). Opcional."},"limit":{"type":"integer","description":"N\u00famero m\u00e1ximo de domiciliaciones a devolver (por defecto 15, m\u00e1ximo 50)."}},"required":[]}},{"name":"wallet_domiciliaciones_cartera","server":"wallet","description":"Resumen GLOBAL de domiciliaciones (adeudos SEPA) de TODOS los usuarios de las empresas asignadas al administrador (su \u0022cartera\u0022): total de recibos, cancelados, cancelables y sus importes agregados, m\u00e1s los miembros con m\u00e1s incidencias. Solo consulta; acotado a tu cartera. Requiere rol de administrador.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"wallet_domiciliaciones_control","server":"wallet","description":"Domiciliaciones (adeudos SEPA) recibidas y sus devoluciones\/anulaciones. SUPER-ADMINISTRADOR: resumen de toda la plataforma (todos los clientes). ADMINISTRADOR: los usuarios de su cartera. Devuelve recibos, anulaciones, recibos cancelados\/cancelables e importes, y el ranking de qui\u00e9n acumula m\u00e1s incidencias. Admite fechaInicio\/fechaFin (YYYY-MM-DD). Solo consulta, nunca cancela; el alcance lo decide tu rol, nunca los argumentos. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{"fechaInicio":{"type":"string","description":"Solo domiciliaciones desde esta fecha (YYYY-MM-DD)."},"fechaFin":{"type":"string","description":"Solo domiciliaciones hasta esta fecha (YYYY-MM-DD)."}},"required":[]}},{"name":"wallet_domiciliaciones","server":"wallet","description":"Consulta DOMICILIACIONES RECIBIDAS (adeudos directos\/recibos SEPA) EN VIVO de la wallet, con su estado de cancelaci\u00f3n (cancelable dentro de 56 d\u00edas naturales, ya cancelada, o no cancelable) y conteos\/importes. SOLO consulta, nunca cancela. Responde: cu\u00e1ntas domiciliaciones hay, cu\u00e1ntas est\u00e1n canceladas o son cancelables, el detalle de una por su referencia, o si hay nuevas desde una fecha. La identidad la resuelve el SERVIDOR (no necesitas ni debes pedir el email al usuario): un cliente ve autom\u00e1ticamente las SUYAS. Si quien pregunta es del equipo de SmartEscrow (acceso a todos los clientes), indica en \u0022usuario\u0022 a qu\u00e9 cliente: vale el email, pero tambi\u00e9n un t\u00e9rmino PARCIAL (parte del email, nombre, apellidos o id de cliente Sefide), p.ej. \u0022biotech3d\u0022; si hay varias coincidencias te las listar\u00e9 para que elijas. Si no sabes de qu\u00e9 cliente se trata, preg\u00fantaselo.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Cliente a consultar (solo lo usa el equipo de SmartEscrow; los clientes ven las suyas sin indicar nada). Acepta email exacto o un t\u00e9rmino PARCIAL: parte del email, nombre, apellidos o id Sefide."},"solo_resumen":{"type":"boolean","description":"Si es true, devuelve solo los totales\/conteos (sin la lista de domiciliaciones)."},"estado":{"type":"string","enum":["todas","cancelables","canceladas","no_cancelables","anulaciones"],"description":"Filtra la lista: todas (por defecto), cancelables, canceladas, no_cancelables o anulaciones."},"referencia":{"type":"string","description":"Devuelve el detalle de UNA domiciliaci\u00f3n por su referencia (refExterna)."},"desde":{"type":"string","description":"Solo domiciliaciones con fecha \u003E= esta (YYYY-MM-DD). \u00datil para detectar novedades."},"fecha_inicio":{"type":"string","description":"Fecha inicial del rango en Sefide (YYYY-MM-DD). Opcional."},"fecha_fin":{"type":"string","description":"Fecha final del rango en Sefide (YYYY-MM-DD). Opcional."},"limit":{"type":"integer","description":"M\u00e1ximo de domiciliaciones a listar (por defecto 20, m\u00e1ximo 100)."}},"required":[]}},{"name":"wallet_error_operations","server":"wallet","description":"Lista las operaciones de wallet con error o notificaciones recientes, para monitorizaci\u00f3n operativa. Consulta GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"wallet_incidencias_report","server":"wallet","description":"Lista los clientes de wallet que tienen incidencias (hard\/soft) con su ficha b\u00e1sica (email, nombre, empresa, estado, KYC). Radar de riesgo GLOBAL; solo super-administradores.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"M\u00e1ximo de clientes a devolver (por defecto 100, m\u00e1ximo 200)."}},"required":[]}},{"name":"wallet_ingresos_sin_identificar","server":"wallet","description":"Ingresos entrantes SIN IDENTIFICAR o sin asignar: aquellos cuya contraparte no coincide con ning\u00fan cliente conocido. SUPER-ADMINISTRADOR: la cuenta maestra SmartEscrow (conciliaci\u00f3n de entradas de tesorer\u00eda). ADMINISTRADOR: los usuarios de su cartera. Distingue \u00abcontraparte desconocida\u00bb (posible ingreso a investigar) de \u00absin contraparte registrada\u00bb (suele ser movimiento interno). Argumento opcional days (ventana, por defecto 30). Solo consulta; el alcance lo decide tu rol. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{"days":{"type":"integer","description":"Ventana en d\u00edas (por defecto 30)."}},"required":[]}},{"name":"wallet_movements","server":"wallet","description":"Devuelve los MOVIMIENTOS\/transacciones EN VIVO de la wallet del usuario autenticado (ingresos, cargos, transferencias), consultados a Sefide. No recibe email\/identificador: el servidor resuelve al usuario autenticado y consulta SOLO sus movimientos. Acepta paginaci\u00f3n opcional (limit, offset). \u00dasala cuando el usuario pregunte por sus \u00faltimos movimientos, su historial o sus transacciones.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"limit":{"type":"integer","description":"N\u00famero m\u00e1ximo de movimientos a devolver (por defecto 15, m\u00e1ximo 50)."},"offset":{"type":"integer","description":"Desplazamiento para paginar (por defecto 0)."}},"required":[]}},{"name":"wallet_movimientos_inusuales","server":"wallet","description":"Movimientos INUSUALES o con posible indicio de FRAUDE operativo en los wallets. Marca por cliente: importes altos, importes at\u00edpicos (estad\u00edsticamente fuera de su patr\u00f3n), r\u00e1fagas de muchos movimientos el mismo d\u00eda y posibles round-trips (mismo importe entrando y saliendo a la misma contraparte). Argumentos opcionales: days (ventana, def 30), minAmount (umbral importe alto, def 3000), k (sensibilidad del at\u00edpico, def 4), burst (movimientos\/d\u00eda para r\u00e1faga, def 6). Consulta GLOBAL; solo super-administradores. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{"days":{"type":"integer","description":"Ventana en d\u00edas (por defecto 30)."},"minAmount":{"type":"number","description":"Umbral de importe alto en EUR (por defecto 3000)."},"k":{"type":"number","description":"Sensibilidad del at\u00edpico (mediana+MAD*k, por defecto 4)."},"burst":{"type":"integer","description":"Movimientos en un d\u00eda para considerar r\u00e1faga (por defecto 6)."}},"required":[]}},{"name":"wallet_pagos_recibidos","server":"wallet","description":"Pagos\/ingresos recibidos en el wallet en los \u00faltimos d\u00edas. SUPER-ADMINISTRADOR: ingresos de la cuenta maestra SmartEscrow (tesorer\u00eda de plataforma). ADMINISTRADOR: los ingresos de los usuarios de su cartera. Devuelve n\u00ba de ingresos, importe total y el detalle (fecha, importe, concepto, referencia). Solo consulta; el alcance lo decide tu rol, nunca los argumentos. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{"dias":{"type":"integer","description":"Ventana en d\u00edas hacia atr\u00e1s (por defecto 3)."}},"required":[]}},{"name":"wallet_portfolio_kpis","server":"wallet","description":"Devuelve los KPIs GLOBALES de la cartera de wallet (total solicitado, a devolver a Hacienda, operaciones financiadas\/devueltas, importe devuelto, pendiente, beneficio bruto y tiempo medio de devoluci\u00f3n). Consulta agregada de TODA la plataforma; solo super-administradores.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"wallet_saldos_liquidez","server":"wallet","description":"Saldo en vivo del wallet y riesgo de falta de liquidez. SUPER-ADMINISTRADOR: las cuentas maestras SmartEscrow (tesorer\u00eda de plataforma). ADMINISTRADOR: los saldos de los usuarios de su cartera. Con el argumento saldo_minimo (opcional) se\u00f1ala qu\u00e9 cuentas\/usuarios est\u00e1n por debajo del umbral y el saldo m\u00ednimo observado. Solo consulta; el alcance lo decide tu rol, nunca los argumentos. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{"saldo_minimo":{"type":"number","description":"Umbral de liquidez en EUR; marca saldos por debajo. Por defecto 0 (sin umbral)."}},"required":[]}},{"name":"wallet_top_ingresos","server":"wallet","description":"Los ingresos de mayor importe del \u00faltimo mes en el wallet. SUPER-ADMINISTRADOR: sobre la cuenta maestra SmartEscrow (tesorer\u00eda de plataforma). ADMINISTRADOR: sobre los usuarios de su cartera. Devuelve los 3 mayores ingresos (fecha, importe, concepto, referencia) y el total del periodo. Solo consulta; el alcance lo decide tu rol, nunca los argumentos. Dato vivo de Sefide.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"wallet_transfer_details","server":"wallet","description":"Devuelve el DETALLE EN VIVO de una transferencia concreta de la wallet del usuario autenticado (IBAN ordenante\/beneficiario, importe, concepto, estado, fechas), consultado a Sefide. Requiere el id de operaci\u00f3n de la transferencia. El servidor acota la consulta a la cuenta del usuario; el equipo de SmartEscrow (staff) puede indicar otro usuario en \u0022usuario\u0022.","inputSchema":{"type":"object","properties":{"usuario":{"type":"string","description":"Solo staff (admin\/super-admin): email EXACTO de otro usuario a consultar. Los usuarios normales solo ven lo suyo (se ignora)."},"id_operacion":{"type":"string","description":"Identificador de la operaci\u00f3n\/transferencia a consultar (lo da, p. ej., wallet_movements)."}},"required":["id_operacion"]}},{"name":"wallet_transferencias_atascadas","server":"wallet","description":"Transferencias salientes ATASCADAS del wallet \u2014 pendientes, esperando SCA, rechazadas o con error t\u00e9cnico \u2014 creadas hace m\u00e1s de 24 h (para que un pago aprobado no quede bloqueado o se duplique). SUPER-ADMINISTRADOR: foto GLOBAL con el desglose por estado, importe total y las operaciones. ADMINISTRADOR: lo mismo acotado a los usuarios de su cartera. Solo consulta; el alcance lo decide tu rol, nunca los argumentos.","inputSchema":{"type":"object","properties":{},"required":[]}}]}