=== ConectaPress ===
Contributors: joanraez
Tags: ai, mcp, claude, codex, cursor, copilot, agent, wordpress, developer
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 3.11.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Conecta ChatGPT y tu agente de IA (Claude Code, Codex, Cursor, Copilot) a WordPress con un servidor MCP nativo. La edición Pro añade memoria, especializaciones y webs externas configuradas.

== Description ==

**ConectaPress** convierte tu WordPress en un servidor **MCP (Model Context Protocol)** al que se conecta tu agente de IA para trabajar sobre el sitio en vivo: editar archivos del tema y plugins, gestionar contenido y media, consultar la base de datos y, en Pro, ejecutar PHP/SQL e inspeccionar webs externas configuradas.

Está pensado principalmente para **desarrollo y staging**. En Pro, la escritura del catálogo WooCommerce puede habilitarse expresamente en producción con usuario MCP dedicado y allowlist.

= Qué incluye =

* **Servidor MCP nativo** (JSON-RPC 2.0 sobre la REST API), sin `npx` ni procesos externos. Conexión **HTTP directa** y rápida.
* **Herramientas MCP**: sistema de archivos, contenido (posts/páginas/media), base de datos, ejecución de PHP y más.
* **ConectaPress Universal Pro**: configura webs externas para que el agente pueda inspeccionar páginas, SEO, enlaces, assets, formularios, robots.txt y sitemap.xml aunque no sean WordPress.
* **Especializaciones Pro** para builders, temas, bloques, formularios, campos, SEO, snippets, traducción y WooCommerce. Incluye Elementor, Bricks, Divi, Beaver Builder, Breakdance, WPBakery, Etch, Mosaic, Astra, GeneratePress, Kadence, Avada, OceanWP, Spectra, ACF, JetEngine, Meta Box, WPForms, Fluent Forms, Yoast, Rank Math y más.
* **Memoria persistente**: el agente recuerda convenciones y decisiones entre sesiones.
* **Registro de actividad**: auditoría de cada acción que realiza la IA.

= Seguridad =

* Acceso de IA **apagado por defecto** y **bloqueado al dominio** donde se activó.
* Las Abilities están **cerradas por defecto** y se habilitan con una allowlist explícita por servidor.
* Autenticación por **OAuth 2.1** (PKCE S256, consentimiento, tokens rotatorios) o Application Password de WordPress.
* Cada cliente OAuth recibe su propia política, limitada a la allowlist aprobada en el consentimiento.
* Descubrimiento estándar, health check sin caché, revocación y diagnóstico/reparación desde el panel.
* Requiere capacidad de administrador (`manage_options`).
* La ejecución de PHP/SQL es **opcional** (opt-in) y viene desactivada.

== Installation ==

1. Sube el ZIP en **Plugins → Añadir nuevo → Subir plugin** y actívalo.
2. Abre **ConectaPress → Conexión** y enciende el **acceso de IA**.
3. Para ChatGPT, activa OAuth y los permisos de edición de contenido en **Conectar con ChatGPT**.
4. Añade el endpoint en ChatGPT con OAuth/DCR, autoriza desde WordPress y selecciona la conexión en el chat. Sigue los pasos y copia el mensaje de comprobación del panel. La guía completa está incluida en CHATGPT.md.
5. Opcional Pro: abre **ConectaPress → Webs externas** y añade sitios públicos que el agente deba inspeccionar.

La conexión y la edición básica de entradas/páginas funcionan en Gratis. Activa la licencia Pro si necesitas sus integraciones. Para otros clientes con Basic, genera una Application Password y copia su configuración en el apartado correspondiente.

Para el chat de Codex, usa **Conectar con Codex (OAuth)**: copia el TOML al archivo de configuración de Codex, ejecuta el comando de autorización y recarga el cliente. La guía CODEX.md está incluida. Las configuraciones Basic solo aparecen tras generar una contraseña real, nunca con un texto de ejemplo.

**Nginx**: `.htaccess` permite servir únicamente `.css` y `.js` del sandbox y bloquea el resto. Replica la política con una location regex para esos dos tipos seguida de una location que deniegue `/wp-content/conectapress-sandbox/`; añade `X-Content-Type-Options: nosniff`.

== Frequently Asked Questions ==

= ¿Es seguro? =
El agente puede usar las herramientas que habilites. El acceso viene apagado por defecto, requiere administrador y OAuth o Application Password sobre HTTPS, y la ejecución de PHP es opcional.

= ¿Con qué clientes funciona? =
ChatGPT en modo desarrollador con OAuth, Claude Code, Codex, Cursor y VS Code / GitHub Copilot (modo Agente), y clientes MCP con transporte HTTP compatible. La disponibilidad en ChatGPT depende de la cuenta y las políticas del espacio de trabajo.

= ¿Puede trabajar con webs que no son WordPress? =
Sí, en Pro. En la primera fase puede inspeccionarlas en modo solo lectura si las configuras en **Webs externas**. Para editar una web externa hará falta un bridge explícito por Git, SFTP, API, CMS externo o navegador controlado.

= ¿Puedo usarlo en producción? =
No es lo recomendado para las herramientas generales. La escritura del catálogo WooCommerce puede habilitarse expresamente en Pro y exige usuario MCP dedicado y allowlist; mantén copias de seguridad y habilita solo las Abilities necesarias.

== Changelog ==

= 3.11.1 =
* Apartado Codex OAuth con copia de TOML, comando de autorización y comprobación de identidad desde el chat.
* Eliminadas las configuraciones Basic con contraseñas de ejemplo: solo se muestran con una contraseña real recién generada.
* Guía CODEX.md incluida; conexiones Basic existentes conservadas.

= 3.11.0 =
* Panel dedicado a ChatGPT con OAuth/DCR, copia de URL, comprobación de identidad y perfil explícito de edición de contenido.
* Descubrimiento OAuth sin falsos bloqueos por intentos fallidos; cada credencial inválida se cuenta una vez por petición.
* Estado y callback OAuth conservados, emisor de autorización, preflight OPTIONS y errores de almacenamiento controlados.
* Negociación MCP estable, notificaciones con cuerpo vacío, métodos y mensajes validados, protección de origen.
* Guía CHATGPT.md incluida y flujo de lectura/escritura probado en WordPress aislado.

= 3.10.0 =
* Cada escritura MCP exige expected_mcp_url y se rechaza antes de ejecutar la herramienta si falta o apunta a otro sitio. Recarga las herramientas del cliente tras actualizar.
* Identidad por web, dominio y endpoint en respuestas y auditoría, incluidos errores y rechazos.
* Consentimiento OAuth con el sitio visible y renovación limitada al recurso del WordPress actual.
* Memoria vinculada al origen: las notas antiguas o copiadas se conservan pendientes de revisión en el panel y no se envían al agente.
* La inspección pública de webs externas se identifica como solo lectura, sin edición de SEO.

= 3.9.2 =
* Identificadores de conexión por endpoint y comprobación explícita del sitio en las instrucciones del agente.

= 3.9.1 =
* Botones “Marcar todas” y “Desmarcar todas” para las allowlists de especializaciones Pro y Abilities.
* Contador inmediato de elementos seleccionados antes de guardar la configuración.
* La selección masiva no concede permisos hasta pulsar “Guardar ajustes”.

= 3.9.0 =
* OAuth 2.1 propio para conectar ChatGPT y otros clientes interactivos sin copiar contraseñas: descubrimiento RFC 8414/RFC 9728, registro dinámico y Authorization Code con PKCE S256.
* Access tokens de una hora, refresh tokens rotatorios, almacenamiento exclusivo de hashes y validación de audiencia del endpoint MCP.
* Consentimiento individual mediante sesión WordPress; cada cliente conserva una instantánea restrictiva de la allowlist aprobada.
* Panel de clientes OAuth con último uso, revocación y diagnóstico que repara tablas incompletas.
* Health check sin caché, cabecera `WWW-Authenticate` para descubrimiento y atribución del cliente en auditoría.
* Se mantienen Application Passwords y las allowlists globales; no se añaden pedidos, pagos, clientes ni PII.

= 3.8.3 =
* Nuevo validador en el panel para revisar por separado o conjuntamente las allowlists de especializaciones Pro y Abilities.
* Detecta elementos obsoletos, contratos inválidos, dependencias de acceso ausentes y configuraciones WooCommerce sin usuario MCP dedicado.
* La validación es de solo lectura y no cambia las selecciones guardadas.

= 3.8.2 =
* Autenticación más robusta con cachés de objetos persistentes y diagnóstico del almacenamiento de contraseñas de aplicación.
* Los avisos de depuración ya no corrompen cabeceras o respuestas MCP.
* El sandbox sirve CSS/JS con `nosniff` y mantiene PHP y los demás tipos bloqueados.
* Elementor rechaza revisiones/autosaves, valida el árbol y verifica la persistencia después de guardar.
* Las especializaciones Pro tienen una allowlist independiente, cerrada por defecto.

= 3.8.1 =
* Nuevas automatizaciones programadas para generar borradores de artículos o imágenes mediante WP-Cron y la API de OpenAI.
* Nuevas herramientas MCP: `list_automations`, `create_automation`, `run_automation` y `delete_automation`.
* Seguridad: la clave se lee de `CONECTAPRESS_OPENAI_API_KEY` y nunca se guarda en la base de datos; las entradas se crean como borrador.

= 3.8.0 =
* Nueva Ability `wc_upload_product_image`: sube y asigna la imagen destacada en una operación CRUD atómica, con rollback del adjunto si falla el producto.
* Permisos independientes para acceso en producción, creación, actualización, medios y publicación; los productos nuevos pueden forzarse a borrador.
* Tokens de confirmación de un solo uso para publicar, reemplazar imágenes y actualizar inventario en lote.
* Subidas protegidas por límites configurables de tamaño, MIME y dimensiones, descargas remotas seguras y generación de tamaños nativos de WordPress.
* Auditoría WooCommerce con valores anterior/nuevo y ocultación de base64 y tokens.

= 3.7.1 =
* WooCommerce Pro permite habilitar de forma explícita la escritura de catálogo en producción, manteniendo usuario MCP dedicado y allowlist.
* `upload_media` devuelve un attachment ID validado que puede asignarse como `image_id`; WooCommerce persiste la imagen destacada mediante su CRUD nativo.

= 3.7.0 =
* Nueva integración Pro con LiteSpeed Cache: diagnóstico, lectura segura, perfiles conservador/equilibrado con confirmación, purgas selectivas y prueba de cabeceras de caché.
* Seguridad: no expone credenciales ni activa automáticamente combine CSS/JS, crawler, object cache, optimización de imágenes, CDN o QUIC.cloud.

= 3.6.0 =
* Compatibilidad dual: MCP 2025-06-18 se mantiene y 2026-07-28 se puede activar como opción experimental, con `server/discover`, metadatos por petición y resultados cacheables de `tools/list`.
* Nueva capa interna de Abilities con esquemas de entrada/salida, permisos por llamada, anotaciones operativas, orden determinista y allowlist cerrada por defecto.
* WooCommerce queda limitado en esta fase a lectura de catálogo, fuera de producción y mediante el usuario MCP dedicado configurado. No expone pedidos, pagos ni PII de clientes.

= 3.5.13 =
* Nuevo: Spectra puede inspeccionar bloques existentes y actualizar atributos de un bloque localizado sin reescribir el resto del contenido.

= 3.5.12 =
* Nuevo: adaptadores Astra, Spectra y GeneratePress Pro para detección e inspección; Astra y GeneratePress añaden actualización parcial de ajustes.

= 3.5.11 =
* Nuevo: adaptador WPForms Pro para inspeccionar y actualizar configuraciones de formulario.
* Seguridad: conserva el JSON del formulario y no expone entradas ni pagos.

= 3.5.10 =
* Nuevo: adaptador Contact Form 7 Pro para formularios, correo, autoresponder, mensajes y validación de mail-tags.
* Seguridad: no gestiona envíos ni integraciones externas.

= 3.5.9 =
* Nuevo: adaptador Yoast SEO Pro para metadatos SEO de contenido y términos.
* Seguridad: robots se normaliza y valida; no expone ajustes globales, redirecciones ni schema avanzado.

= 3.5.8 =
* Nuevo: adaptador Rank Math Pro para leer y actualizar SEO de contenido y términos.
* Seguridad: valida robots y no expone ajustes globales, redirecciones ni schema avanzado.

= 3.5.7 =
* Nuevo: adaptador Gravity Forms Pro para formularios, campos, notificaciones y confirmaciones mediante GFAPI.
* Seguridad: no toca tablas gf_* ni incluye operaciones sobre entradas en este primer alcance.

= 3.5.6 =
* Nuevo: adaptador Bricks Pro para localizar documentos, inspeccionar sus áreas y fusionar ajustes en elementos existentes.
* Seguridad: no crea, borra ni mueve elementos, y rechaza el lote completo si falta algún ID objetivo.

= 3.5.5 =
* Nuevo: adaptador Elementor Pro para detectar documentos, inspeccionar su árbol compacto y actualizar de forma acotada los ajustes de un elemento existente mediante la API de documentos.
* Seguridad: conserva el resto del árbol; crear, mover o eliminar elementos no forma parte de este primer alcance.

= 3.5.4 =
* Nuevo: adaptador WooCommerce Pro para inspeccionar el catálogo y crear o actualizar productos simples, categorías y variaciones mediante el CRUD nativo.
* Seguridad: no expone pedidos, pagos, reembolsos ni cupones; conserva compatibilidad con HPOS.

= 3.5.3 =
* Nuevo: adaptador ACF Pro con herramientas para comprobar la instalación, inspeccionar grupos y campos, y leer/escribir valores con la API de ACF.
* Seguridad: las escrituras ACF verifican permisos y nunca usan meta crudo.

= 3.5.2 =
* Corrección: ConectaPress Universal, Memoria y la inspección Astra/Spectra quedan limitadas correctamente a la edición Pro.
* Mejora: las subpáginas Pro muestran una pantalla de activación cuando no hay licencia activa.

= 3.5.1 =
* Mejora: revisión del catálogo Pro para alinearlo con el modelo de Novamira Pro: memoria, misma conexión MCP y especializaciones reutilizables por stack.
* Nuevo: especialización `mosaic` para cubrir builders/temas Mosaic.
* Mejora: contrato operativo común para todas las especializaciones Pro: inspección previa, APIs nativas, preservación de datos, cambios reversibles y verificación.

= 3.5.0 =
* Nuevo: catálogo Pro ampliado a 40 especializaciones para builders, temas, bloques, formularios, campos, SEO, snippets y traducción.
* Mejora: `site_info` devuelve `recommended_stack_skills` para que el agente cargue automáticamente las guías adecuadas según tema y plugins activos.
* Mejora: las instrucciones MCP indican cargar las especializaciones recomendadas antes de modificar contenido, builders, tema, formularios, SEO o campos.

= 3.4.0 =
* Mejora: la especialización Astra + Spectra incorpora criterios WCAG 2.2 AA, presupuesto de rendimiento, un flujo de HTML controlado y una nomenclatura BEM acotada para las excepciones aprobadas.

= 3.3.0 =
* Nuevo: especialización Astra + Spectra para convertir referencias de imagen, PDF o Figma en páginas y plantillas editables con bloques nativos.
* Nuevo: herramienta de inspección de Astra/Spectra, bloques registrados y disponibilidad de plantillas antes de construir el diseño.

= 3.2.0 =
* Nuevo: ConectaPress Universal con pantalla de Webs externas.
* Nuevo: herramientas MCP `universal_targets`, `web_fetch_page` y `web_discover_site`.
* Corrección: el ZIP instalable normaliza permisos para que assets como `admin.css` sean servibles por el hosting.

= 3.1.6 =
* Mejora: especializaciones Pro para Astra, GeneratePress y Hello Theme.
* Mejora: site_info recomienda automáticamente la especialización de tema cuando detecta Astra, GeneratePress o Hello Theme.

= 3.1.5 =
* Mejora: pestaña propia para GitHub Copilot con configuración MCP de VS Code (`.vscode/mcp.json`) y modo Agente.

= 3.1.4 =
* Mejora: el panel genera una configuración específica para Cursor (`~/.cursor/mcp.json`) y mantiene los formatos correctos para Codex y Claude Code.

= 3.1.3 =
* Ajuste visual: panel estrictamente blanco y negro, más fiel al estilo de conectapress.com.

= 3.1.2 =
* Mejora visual: el panel de administración se alinea con el diseño blanco/negro técnico de la web de ConectaPress.

= 3.1.1 =
* Corrección: el botón de desactivar ahora revoca las contraseñas de aplicación creadas por ConectaPress.
* Mejora: configuración de Codex más explícita para MCP HTTP con cabecera Authorization.

= 3.1.0 =
* Corrección: write_file puede crear archivos dentro de carpetas nuevas manteniendo la validación de rutas permitidas.
* Documentación y empaquetado alineados con el servidor propio de licencias.

= 3.0.0 =
* Modelo Gratis/Pro con servidor propio de licencias y Stripe. Gratis: conexión + archivos + contenido. Pro: ejecución PHP/SQL, especializaciones y memoria.

= 2.3.0 =
* Auto-actualización desde el servidor de licencias (descarga gateada por licencia activa).

= 2.2.0 =
* Licencia anual (Stripe) con activación por dominio y bloqueo del acceso sin licencia válida.
* Endurecimiento: protección del sandbox frente a acceso web, bloqueo de .htaccess/.user.ini, ejecución de PHP/SQL opt-in, throttling anti fuerza bruta, cabeceras de seguridad y uninstall.

= 2.1.0 =
* Conexión rápida y verificada con Codex y Claude Code (comandos de una línea + Streamable HTTP).

= 2.0.0 =
* Primera versión: servidor MCP nativo, 18 herramientas, memoria y especializaciones.

== Upgrade Notice ==

= 2.2.0 =
Añade licencia y refuerza la seguridad. Tras actualizar, activa tu licencia y revisa que la ejecución de PHP/SQL esté como quieres (ahora opt-in).
