El servidor MCP de MemberPress AI Foundation pone a disposición un catálogo de herramientas a las que un cliente de IA recurre para leer y gestionar datos de MemberPress. Cada herramienta declara un nombre, un esquema de entrada JSON y unas anotaciones que la clasifican como de solo lectura, de escritura o destructiva.
Esta guía recoge todas las herramientas, agrupadas por ámbito, indicando su finalidad, los parámetros clave, el alcance necesario y la capacidad de WordPress requerida. Es el complemento de la Referencia sobre medidas de seguridad para agentes, en el que se explica cómo se aplican los ámbitos, las capacidades y el flujo de confirmación.
Cómo funciona la lista de herramientas
Un cliente recupera el catálogo llamando a la función herramientas/lista método contra el punto final MCP. Hay dos factores que determinan qué herramientas aparecen en la respuesta:
- Nivel de acceso a la conexión (filtrado por ámbito). The server returns only the tools the connection’s scope permits. A read-only connection (including any Application Password connection) sees only read tools. A connection with write scopes additionally sees the write and destructive tools its scopes cover. A tool is also hidden when the token owner lacks its required WordPress capability —
memberpress_delete_memberno aparece para un usuario que no tengaeliminar_usuarios. - Complementos activos (control de acceso a complementos). Las herramientas que pertenecen a un complemento solo se registran mientras dicho complemento está activo. Por ejemplo, un sitio que no cuente con cursos MemberPress no muestra las herramientas del curso.
Debido a estos dos factores, el número de herramientas que ofrece un sitio varía. El catálogo se va ampliando con cada complemento:
| Inscripción | Herramientas autenticadas | Herramientas públicas |
|---|---|---|
| Versión básica (sin complementos) | 41 | 2 |
| + Cursos MemberPress | +8 | +2 |
| + Cuentas de empresa | +3 | — |
| + Descargas | +2 | — |
| Todo lo que está activo | 54 (39 de lectura, 9 de escritura no destructiva, 6 de escritura destructiva) | 4 |
Clasificación de herramientas
Cada herramienta incluye anotaciones que la clasifican:
| Clasificación | Nota | Comportamiento |
|---|---|---|
| Leer | readOnlyHint: true | Recupera datos. Nunca cambia de estado. Está disponible para todas las conexiones. |
| Escritura no destructiva | readOnlyHint: false, destructiveHint: false | Crea o actualiza. Por defecto, muestra una vista previa; si se pasa ejecutar: true para ponerlo en marcha. |
| Destructivo | readOnlyHint: false, destructiveHint: true | Elimina, reembolsa, cancela o restablece. Requiere el proceso de confirmación en dos pasos mediante token. |
Las mecánicas de escritura y de ejecución destructiva se describen en el Referencia sobre medidas de seguridad para agentes. Esta guía se centra en qué es cada herramienta y qué datos admite.
Formato de respuesta de la herramienta
Un cliente ejecuta una herramienta con el herramientas/llamada método. El resultado se devuelve en el formato estándar de MCP: un result.content array whose first element is a text block. That block’s texto field holds the tool’s data as a Cadena JSON el cliente debe analizar. Esto difiere del herramientas/lista forma, que devuelve directamente las definiciones de las herramientas.
El sobre de un lista_de_miembros_de_memberpress llamar:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{ "type": "text", "text": "{ ...cadena JSON con caracteres de escape... }" }
]
}
}
Análisis sintáctico del texto La cadena devuelve la carga útil — una miembros matriz con campos de paginación entre elementos:
{
"miembros": [
{
"id": 50,
"correo electrónico": "member@example.com",
"nombre de usuario": "member50",
"nombre": "Ejemplo",
"apellidos": "Miembro",
"fecha_registro": "21/08/2023 17:18:31",
"active_memberships": [ { "id": 2332, "title": "Membresía básica" } ]
}
],
"total": 8,
"página": 1,
"por_página": 3,
"páginas": 3
}
Campos de paginación (total, página, por_página, páginas) se sitúan junto a la matriz de datos, no dentro de un objeto contenedor.
Herramientas de lectura
Las herramientas de lectura recuperan datos y nunca modifican el estado. Están disponibles en todas las conexiones, incluidas las conexiones de «Contraseña de aplicación» de solo lectura. Todas las herramientas de lectura incluyen readOnlyHint: true, destructiveHint: false, idempotentHint: true, y solo requieren el leer ámbito de aplicación (siempre concedido).
Parámetros que se muestran como obligatorio debe proporcionarse. Las herramientas de la lista comparten un patrón de paginación común: página (por defecto, 1) y por_página (por defecto 20, máximo 100).
Miembros
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_member | Información completa sobre un miembro, incluidas las suscripciones activas y las afiliaciones a las que tiene acceso. | identificador (número de socio o correo electrónico); include_transactions (bool, valor predeterminado: false) |
lista_de_miembros_de_memberpress | Mostrar los miembros de la lista con filtros. Paginado. | busque en, estado (activo/inactivo/todos), membership_id, página, por_página |
memberpress_export_members | Exportar los miembros como una matriz JSON paginada. | membership_id, estado, fecha_de_inicio, fecha_hasta, página, por_página (por defecto 50) |
Afiliaciones
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_membership | Información completa sobre una suscripción o un producto: precios, periodo de prueba, grupos, normas de acceso y número de miembros. | membership_id |
lista_de_miembros_afiliaciones | Mostrar afiliaciones/productos con filtro de estado. Paginado. | estado (publicado/borrador/todos), página, por_página |
memberpress_get_membership_stats | Estadísticas generales sobre todas las suscripciones: suscriptores activos, ingresos totales e ingresos medios por suscriptor. | (ninguno) |
Suscripciones
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_subscription | Datos completos de la suscripción: usuario, producto, estado de la prueba, historial de transacciones. | subscription_id |
lista_de_suscripciones_de_miembros_de_prensa | Lista de suscripciones con filtros. Paginada. | id_miembro, membership_id, estado (pendiente/activo/suspendido/cancelado/todos), fecha_de_inicio, fecha_hasta, página, por_página |
Transacciones
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_transaction | Detalles completos de la transacción: usuario, producto, suscripción y datos financieros. | transaction_id |
lista_de_transacciones_de_miembros_de_prensa | Listado de transacciones con filtros. Paginado. | id_miembro, membership_id, subscription_id, estado (pendiente/completado/fallido/reembolsado/todos), fecha_de_inicio, fecha_hasta, página, por_página |
Normas y acceso
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_list_rules | Lista de reglas de acceso con filtrado. Paginada. | membership_id, tipo_regla, página, por_página |
memberpress_get_protected_content | Todas las normas relativas al contenido protegido y si un miembro tiene acceso a cada una de ellas. | id_miembro |
memberpress_list_protected_urls | Lista de normas de protección de contenidos con los contenidos protegidos y las suscripciones necesarias. Paginada. | página, por_página |
memberpress_check_access | Si un usuario tiene acceso a una entrada o página concreta. | usuario_id, post_id |
Cupones
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
lista_de_cupones_para_miembros | Lista de cupones con filtro por estado, detalles del descuento y estadísticas de uso. Paginada. | estado (activos/caducados/todos), página, por_página |
Informes y análisis
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_revenue_report | Ingresos correspondientes a un intervalo de fechas, desglosados por período. | fecha_de_inicio, fecha_hasta, periodo (diario/semanal/mensual/anual), membership_id |
memberpress_get_churn_report | Suscripciones canceladas, suspendidas o nuevas, y tasa de cancelación durante un intervalo de fechas. | fecha_de_inicio, fecha_hasta, membership_id |
análisis_de_ingresos_de_memberpress | Totales de transacciones, ingresos por producto, tendencias mensuales. | fecha_de_inicio, fecha_hasta, identificadores_de_miembros (matriz) |
predicción_de_rotación_de_miembros_de_MemberPress | Estado de las suscripciones, tasas de cancelación, tiempo medio hasta la cancelación, tasa de abandono por producto. | membership_id |
análisis_de_cohorte_de_MemberPress | Inscripciones agrupadas por mes, con datos de retención, bajas e ingresos por cohorte. | fecha_de_inicio, fecha_hasta |
memberpress_ltv_análisis | Ingresos por suscripción y duración agrupados por producto, para la estimación del valor de vida útil (LTV). | membership_id |
memberpress_participación_de_los_miembros | Frecuencia de las transacciones, distribución del estado de las suscripciones, patrones de actividad. | membership_id, días (máx. 365, por defecto 90) |
previsión_de_renovación_de_MemberPress | Próximos vencimientos agrupados en intervalos de 30 días, con las tasas de renovación históricas. | membership_id |
análisis_de_pagos_fallidos_de_MemberPress | Transacciones fallidas y reembolsadas por producto, mes y pasarela de pago, en comparación con el volumen de transacciones completadas con éxito. | fecha_de_inicio, fecha_hasta |
memberpress_content_performance | Número de contenidos protegidos, proporción entre miembros y contenidos, tasa de baja por suscripción. | fecha_de_inicio, fecha_hasta |
memberpress_smart_query | Datos de contexto del sitio para responder a una pregunta formulada en lenguaje natural sobre los datos de afiliación. | pregunta |
En fecha_de_inicio / fecha_hasta Si se omiten, las herramientas de análisis recurren a un intervalo de fechas predeterminado en lugar de requerir fechas explícitas.
Sistema
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_system_info | Diagnóstico: versiones de PHP, WordPress y MemberPress; complementos activos; nombres de las pasarelas de pago; estado de las tablas de la base de datos; recuentos. | (ninguno) |
lista_de_webhooks_de_MemberPress | Mostrar la lista de webhooks configurados con sus URL, eventos y estado de activación. | (ninguno) |
lista_de_recordatorios_para_miembros_de_prensa | Mostrar los recordatorios por correo electrónico configurados, con los eventos desencadenantes, la periodicidad, el estado y las suscripciones. | (ninguno) |
Cursos (se requieren cursos de MemberPress)
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_course | Detalles del curso: secciones, lecciones, suscripciones, porcentaje de finalización. | course_id |
lista_de_cursos_para_miembros | Lista de cursos con filtros. Paginada. | busque en, estado (publicado/borrador/todos), página, por_página |
memberpress_get_lesson | Detalles de la clase: sección, curso principal, disponibilidad. | lesson_id |
lista_de_miembros_de_press_lecciones | Mostrar las clases filtradas por curso o sección. Paginadas. | course_id, section_id, página, por_página |
memberpress_get_student_progress | A student’s per-lesson progress on a course. | usuario_id, course_id |
lista_de_miembros_de_la_prensa_alumnos_del_curso | Estudiantes matriculados en un curso que han completado dicho curso. Paginado. | course_id, página, por_página |
Cuentas corporativas (requiere MemberPress Cuentas corporativas)
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
memberpress_get_corporate_account | Cuenta corporativa por ID de usuario del titular: uso y lista de subcuentas. | usuario_id |
lista_de_miembros_subcuentas | Subcuentas de una cuenta de empresa. Paginadas. | id_de_cuenta_corporativa, página, por_página |
Descargas (requiere MemberPress Downloads)
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
lista_de_descargas_de_miembros_de_prensa | Lista de archivos descargables con filtros: título, nombre del archivo, número de descargas, suscripciones. Paginada. | membership_id, página, por_página |
memberpress_get_download_stats | Estadísticas de una descarga: recuento, información del archivo, suscripciones, tamaño del archivo. | id_archivo |
Herramientas de escritura (no destructivas)
Las herramientas de escritura no destructivas crean o actualizan datos. Cada una de ellas utiliza por defecto un vista previa: al llamarla, devuelve lo que *ocurriría* sin cambiar nada. Para ejecutarla en tiempo real, pasa ejecutar: true. Cada una requiere un ámbito de escritura específico y una capacidad de WordPress. La comprobación de ámbito se ejecuta en primer lugar y rechaza la solicitud con SCOPE_INSUFFICIENT; a continuación, el filtro de capacidad rechaza la solicitud con el mensaje CAPACIDAD_INSUFICIENTE.
Estas herramientas no están disponibles en conexiones de solo lectura (incluidas las conexiones con contraseña de aplicación). Es necesario asignar a la conexión el ámbito de escritura correspondiente a través del asistente, con un nivel máximo de «Acceso completo».
Algunos parámetros se recogen en el inventario que figura a continuación; para obtener los esquemas completos de entrada de cada herramienta de escritura, sigue siendo necesario realizar una captura en tiempo real con acceso completo o una vista previa específica para cada herramienta (la conexión de captura de solo lectura no permitió enumerar los esquemas de las herramientas de escritura).
| Herramienta | Objetivo | Alcance | Capacidad |
|---|---|---|---|
memberpress_create_member | Crear un miembro. | escribir:miembros | create_users |
memberpress_update_member | Actualizar un miembro. Solo se modifican los campos que envía el solicitante; los campos omitidos no se modifican. | escribir:miembros | editar_usuarios |
memberpress_create_coupon | Crea un cupón. | escribir:contenido | gestionar_opciones |
memberpress_create_subscription | Inscribir a un socio actual en un plan de afiliación. | escribir:miembros | editar_usuarios |
memberpress_create_rule | Crea una regla de acceso. | escribir:contenido | gestionar_opciones |
memberpress_create_webhook | Crea un webhook. | escribir:webhooks | gestionar_opciones |
memberpress_import_members | Importar miembros de forma masiva. | escribir:importaciones | create_users |
memberpress_complete_lesson | Marcar una lección como completada para un alumno. | escribir:cursos | editar_usuarios |
memberpress_toggle_reminder | Activar o desactivar un recordatorio por correo electrónico. | escribir:webhooks | gestionar_opciones |
Herramientas destructivas
Las herramientas destructivas borran, devuelven, cancelan o restablecen datos. Conllevan destructiveHint: true y no puede se ejecutan con un único parámetro. Cada una requiere el flujo de token de confirmación en dos pasos: la primera llamada devuelve una vista previa y un código de un solo uso token_de_confirmación; una segunda llamada que pasa Confirmar: "" con los mismos argumentos ejecuta la operación en tiempo real. Los tokens caducan a los 60 segundos, son de un solo uso y están vinculados a la herramienta, los argumentos y el usuario concretos.
Las acciones reversibles están exentas de la etapa de confirmación. Hay dos valores de acción que sirven para deshacer en lugar de destruir, y que se ejecutan sin necesidad de un token: memberpress_gestionar_suscripción con acción: "reanudar"y memberpress_manage_sub_account con acción: "añadir". Cualquier otra acción realizada con estas herramientas —y cualquier llamada a las otras cuatro herramientas destructivas— requiere el flujo de tokens.
Las herramientas destructivas también están sujetas al «kill switch»: cuando se pausan las escrituras destructivas, se rechaza cualquier herramienta destructiva con ESCRITURA_EN_PAUSA, independientemente del ámbito o de que haya un token válido. Consulta el Referencia sobre medidas de seguridad para agentes.
Los parámetros documentados aparecen en la siguiente sección; para ver los esquemas de entrada completos, sigue siendo necesario realizar una captura en tiempo real con acceso completo o una vista previa por herramienta.
| Herramienta | Objetivo | Alcance | Capacidad |
|---|---|---|---|
memberpress_delete_member | Eliminar un miembro (llamadas wp_delete_user; MemberPress realiza una limpieza en cascada de filas, transacciones, suscripciones y eventos). No permite eliminar al usuario que realiza la llamada ni a ningún usuario con el gestionar_opciones capacidad (administradores, superadministradores y cualquier rol personalizado al que se le haya concedido dicha capacidad). Ambos controles se ejecutan antes de la ejecución y antes de la rama de vista previa, por lo que incluso una vista previa es rechazada. | escribir:miembros | eliminar_usuarios — declarada como una puerta explícita a nivel de herramienta; la herramienta queda oculta de herramientas/lista para los usuarios que no lo tengan |
memberpress_delete_webhook | Eliminar un webhook. | escribir:webhooks | gestionar_opciones |
memberpress_gestionar_suscripción | Cancelar, suspender o reanudar una suscripción. | escribir:facturación | gestionar_opciones |
transacción de reembolso de MemberPress | Reembolsar una transacción. | escribir:facturación | gestionar_opciones |
memberpress_manage_sub_account | Gestionar una subcuenta corporativa. | escribir:miembros | gestionar_opciones |
memberpress_reset_course_progress | Reset a student’s course progress. | escribir:cursos | editar_usuarios |
Parámetros y comportamiento documentados
Los siguientes detalles sobre parámetros y comportamiento proceden del inventario del código fuente y de las confirmaciones del equipo de ingeniería. No constituyen un esquema completo para todas las herramientas; los parámetros restantes se confirman mediante la vista previa de cada herramienta.
memberpress_create_coupon—tipo_descuento∈{porcentaje, dólar},modo_descuento∈{estándar, primer pago}(por defectoestándar), además deimporte_descuentoy un opcionalidentificadores_de_miembrosmatriz (limita el cupón a productos específicos). Valores heredados (plano,primero,todos) se rechazan de forma definitiva. Se aceptanejecutar.memberpress_create_subscription— inscribe a un socio *ya existente* en una suscripción (se requiere socio + producto); rechaza las inscripciones duplicadas; siempre utilizagateway='manual'(acceso concedido por el administrador, no se trata de un evento de facturación); ramificaciones en productos de pago único frente a productos recurrentes. Incluyeejecutar.memberpress_import_members— admite un nivel superiorenviar_correo_electrónico_de_bienvenidabooleano (por defectofalso); el correo electrónico de bienvenida de WordPress se envía una vez por cada miembro recién creado tras su alta. Los usuarios existentes cuyo correo electrónico coincida no se vuelven a crear. Incluyeejecutar.memberpress_delete_member—id_miembro; llamadaswp_delete_user, letting MemberPress’susuario_eliminadoHook para limpiar en cascada las filas relacionadas. Solo para el flujo de tokens de confirmación.memberpress_gestionar_suscripción— un selector de acciones que incluye las opciones «cancelar», «suspender» y «reanudar»;curriculum vitaees una variante no destructiva que omite la puerta destructiva. Flujo de tokens de confirmación para acciones destructivas.memberpress_manage_sub_account— un selector de acciones;añadaes una variante no destructiva que omite la puerta destructiva.transacción de reembolso de MemberPress—transaction_idobligatorio; opcionalcancelar_suscripciónbooleano. Efecto secundario de la respuesta: cuando la transacción tenga una suscripción asociada Ycancelar_suscripción*no* se ha aprobado, la respuesta (vista previa y en directo) añadesubscription_listing_may_show_inactive: truey unnota_sobre_la_lista_de_suscripciones. Esta marca y esta nota se refieren a solo cómo se muestra el estado en la lista de suscripciones del panel de administración de WordPress — that column derives from the latest transaction’s status, not from the subscription record — and are skipped whencancel_subscription: true. The flag does not describe access behavior: refunding the latest transaction that backs a subscription ends the member’s access for that term. This response shape must appear in any refund example. Confirmation-token flow only.
Herramientas públicas
El punto final público sin autenticación (/wp-json/mp-mcp/v1/public-mcp) presenta una selección independiente y cuidada de 4 herramientas de solo lectura para su uso sin token. Solo devuelven datos públicos del catálogo —precios y enlaces de registro— y nunca datos de miembros, transacciones o administradores. Los cuatro son memberpress_-prefijo y carry readOnlyHint: true.
Estos cuatro nombres también figuran en la superficie de lectura autenticada, pero las versiones públicas son diferentes: presentan esquemas más sencillos, descripciones específicas para el público y resultados limitados a los elementos que se han incluido en el catálogo público.
| Herramienta | Objetivo | Parámetros clave |
|---|---|---|
lista_de_miembros_afiliaciones | Enumera los planes de suscripción disponibles públicamente, indicando sus precios y las URL para registrarse. | (ninguno) |
memberpress_get_membership | Detalles del plan de suscripción público: precios, información sobre el periodo de prueba y enlace de registro. | membership_id |
lista_de_cursos_para_miembros | Enumera los cursos disponibles para el público. | (ninguno) |
memberpress_get_course | Detalles de un curso público: descripción general y número de clases. | course_id |
El catálogo público se gestiona en dos niveles: un administrador lo activa a nivel global (Configuración de MCP → “Activar punto final del catálogo público de IA”, por defecto apagado), y cada suscripción o curso se puede excluir individualmente desmarcando la casilla “Mostrar en el catálogo público de IA” en su pantalla de edición. A obtener_suscripción/get_course La consulta de un artículo que no figura en el catálogo público no devuelve ningún dato.
Control de entrada adicional
Add-on tools register only while their add-on is active, detected by a probe for the add-on’s main class:
| Complemento | Clase de detección | Herramientas |
|---|---|---|
| Cursos | memberpress\cursos\modelos\Curso | herramientas para cursos y clases |
| Cuentas de empresa | MPCA_Cuenta_corporativa | herramientas corporativas |
| Descargas | memberpress\descargas\modelos\Archivo | descargar herramientas |
Un sitio que no cuente con un complemento simplemente no expone sus herramientas; al llamar a una herramienta no registrada, se devuelve el error estándar de JSON-RPC por método desconocido.
Referencia del ámbito de aplicación
El asistente concede conexiones con uno o varios ámbitos. El acceso de lectura siempre se concede; los ámbitos de escritura solo se conceden con un nivel máximo de «Acceso completo».
The wizard’s Access-step checkboxes map uno a uno to these scopes — each checkbox’s value is the internal scope string, stored verbatim on the token:
| Cubo mágico | Ámbito de aplicación publicado |
|---|---|
| Leer todo | leer (siempre concedido) |
| Editar contenido | escribir:contenido |
| Gestionar miembros | escribir:miembros |
| Operaciones de facturación | escribir:facturación |
| Importaciones a granel | escribir:importaciones |
| Gestionar webhooks | escribir:webhooks |
| Progreso en el curso | escribir:cursos |
No hay un ámbito específico para los cupones, los recordatorios o las operaciones corporativas: los cupones se integran en escribir:contenido, recordatorios por correo electrónico en escribir:webhooks, y las subcuentas corporativas en escribir:miembros.
| Alcance | Subvenciones |
|---|---|
leer | Todas las herramientas de lectura. Siempre disponibles. |
escribir:miembros | Herramientas para crear, actualizar y eliminar miembros. |
escribir:facturación | Herramientas de gestión de suscripciones y de reembolso de transacciones. |
escribir:contenido | Herramientas de reglas de acceso y cupones. |
escribir:webhooks | Herramientas de creación y eliminación de webhooks y de recordatorios por correo electrónico. |
escribir:importaciones | Herramienta de importación de miembros. |
escribir:cursos | Herramientas de seguimiento del progreso de los cursos. Solo se muestra en el asistente cuando la opción «Cursos» está activa. |
completo | Metascopio heredado. Cumple con cualquier escribir:* solicitud. Se mantiene por motivos de compatibilidad con versiones anteriores. |
Referencia de capacidades
Beyond scope, each write tool enforces the WordPress capability of the token’s owner. A token with the right scope but an owner lacking the capability is rejected with CAPACIDAD_INSUFICIENTE.
| Capacidad | Herramientas |
|---|---|
create_users | create_member, import_members |
editar_usuarios | actualizar_miembro, crear_suscripción, lección completa, restablecer_progreso_del_curso |
eliminar_usuarios | eliminar_miembro — puerta explícita a nivel de herramienta; oculta de herramientas/lista sin ello |
gestionar_opciones | gestionar_suscripción, transacción_de_reembolso, create_rule, crear_cupón, create_webhook, eliminar_webhook, toggle_reminder, gestionar_subcuenta |
Documentación relacionada
- Guía general y de configuración de MemberPress AI Foundation — qué ofrece AI Foundation y cómo instalarlo;
- Conexión de clientes de IA a MemberPress – Referencia para desarrolladores — autenticación y configuración por cliente;
- Medidas de seguridad para los agentes de MemberPress AI Foundation — los ámbitos de aplicación, el límite de acceso, los tokens de confirmación y el «kill switch»;
- Errores y resolución de problemas del MCP MemberPress — códigos de error, entre los que se incluyen
CAPACIDAD_INSUFICIENTEyESCRITURA_EN_PAUSA.