Crea para el ecosistema con tu propio agente

Crea extensiones de SOIS con el agente de IA que ya usas (Claude, ChatGPT, Cursor, Gemini, o cualquier herramienta compatible con MCP). Conectas tu agente al servidor MCP de SOIS, creas la extensión en tu propia máquina y luego la subes para revisión y publicación. Usas tu propia IA; SOIS no cobra nada por crear.

Esta es la vía del ecosistema. Cualquiera puede crear para el mercado y ganar con sus apps. No necesitas el portal de desarrollo para crear una extensión personalizada; conectar tu agente es suficiente. El portal es donde publicas en el mercado y gestionas tus pagos. Consulta Monetiza tus apps para ver el modelo de ingresos.

Cómo funciona

  1. Conecta tu agente al servidor MCP de tu espacio de trabajo (OAuth, o un token).
  2. Crea localmente contra la especificación de SOIS que tu agente lee por MCP.
  3. Valida con una comprobación estática gratuita hasta que quede limpio.
  4. Sube el paquete. Se endurece, se controla y se pone en cola para revisión.
  5. Revisa y publica. Una vez aprobado, tu extensión está disponible en el mercado.

Conecta tu agente

Las herramientas de creación viven en el propio servidor MCP de tu espacio de trabajo, el mismo extremo que se describe en Servidor MCP. No hay ningún servidor de creación separado que configurar: te conectas una vez y, como tu cuenta puede crear, las herramientas de creación aparecen automáticamente en la lista de herramientas de tu agente. Están controladas por administrador, por lo que solo se muestran para las cuentas con capacidad de creación.

Server:     https://<your-workspace-host>/api/mcp
Discovery:  https://<your-workspace-host>/.well-known/mcp.json

Conexión: la vía recomendada es OAuth. Añade la URL de MCP a tu cliente (Claude, ChatGPT, Cursor y otros); descubre el inicio de sesión y se conecta sin pegar nada. Un token Bearer más una cabecera X-Api-Key también funciona para los clientes que no usan OAuth. Consulta Servidor MCP para ver el flujo completo de conexión y los detalles de descubrimiento.

Tu agente tiene entonces las herramientas de creación disponibles. Empieza cada creación pidiéndole que lea las reglas.

Las herramientas de creación

Tool What it does
getExtensionRules El manifiesto canónico, las reglas de migración, permisos, kit de herramientas, i18n, interfaz y seguridad. Llámalo primero.
getExtensionFrameSpec El contrato del marco del host para la vista previa local: la firma de montaje, los tokens de tema, la forma de la API REST y el formato del paquete.
createExtensionProject Crea un nuevo proyecto de app. Devuelve un project_id.
validateExtensionBundle Ejecuta la puerta estática gratuita en tus archivos y devuelve los problemas que hay que solucionar. Ejecútalo tantas veces como quieras.
uploadExtensionBundle Envía tu paquete. Se endurece, se controla y, si pasa, se pone en cola para revisión.
getExtensionStatus El estado del ciclo de vida y el último informe de validación de un proyecto.
listExtensionProjects Tus proyectos y su estado.

Formato del paquete

Una extensión es un paquete pequeño de archivos:

File Purpose
manifest.json La única fuente de verdad: id, entidades, modelo de datos, permisos, archivos.
index.js La interfaz, escrita como un IIFE de JavaScript vainilla que se monta mediante window.AppExtension.mount. Ningún framework en el paquete.
toolkit.js Herramientas de agente opcionales, siguiendo el patrón del examinador.
permissions.json Claves de permiso que coinciden con tus nombres de ruta.
migrations/ Tablas de base de datos llamadas ext_{name}_{table} con una columna id y una columna JSON data.
lang/ Archivos de localización, cada clave con el prefijo ext_{name}.

Reglas clave que tu agente aplica desde getExtensionRules:

  • Los campos de negocio viven dentro de la columna JSON data, no como columnas separadas.
  • No hay claves externas entre extensiones, ni DROP, TRUNCATE ni dropColumn en una migración up(), ni SQL en bruto, ni acceso a shell ni al sistema de archivos.
  • Da estilo a la interfaz con los tokens de tema --ext-* para que coincida con SOIS. Nunca codifiques colores ni texto visible al usuario.

Valida antes de subir

validateExtensionBundle ejecuta la misma puerta estática gratuita que ejecuta el servidor al subir, para que puedas solucionar problemas localmente primero. Comprueba tipos de archivo, seguridad de migraciones, estructura del manifiesto, nomenclatura e i18n. La puerta del lado del servidor es siempre la autorizada: pasar localmente es una comodidad, no una garantía.

Sube, revisa, publica

Cuando uploadExtensionBundle informa de un aprobado, tu paquete se almacena en un área de revisión privada y tu proyecto pasa a revisión. Un revisor lo comprueba y lo aprueba, lo que lo publica en el mercado, o te lo devuelve con comentarios para que lo arregles y lo subas de nuevo.

Pasos siguientes