5.8 KiB
5.8 KiB
MCP Tools Reference
Quick Reference
| Tool | Categoría | Acción |
|---|---|---|
create_module |
Módulos | Crea módulo nuevo (directorio + archivos + compila) |
compile_module |
Módulos | Compila módulo tras editar index-base.tpl |
check_module |
Módulos | Preview de cómo renderiza un módulo |
check_module_usage |
Módulos | Qué páginas usan un módulo |
set_module_example_data |
Módulos | Datos de ejemplo para editor visual |
list_page_modules |
Registros | Lista módulos de una página |
add_module_to_record |
Registros | Añade módulo a una página |
remove_module_from_record |
Registros | Elimina módulo de una página |
reorder_module |
Registros | Cambia posición de un módulo |
toggle_module_visibility |
Registros | Muestra/oculta módulo |
get_module_config_vars |
Registros | Lee variables de un módulo |
set_module_config_vars |
Registros | Escribe variables de un módulo |
list_table_records |
Registros | Buscar/listar registros con filtros |
get_record |
Registros | Obtener un registro por num |
create_or_update_record |
Registros | Crear o actualizar registros |
delete_table_records |
Registros | Eliminar registros (destructivo) |
upload_record_image |
Media | Subir imagen a campo de registro (desde URL) |
generate_image |
Media | Generar imagen con IA y guardar en uploads |
upload_image_to_assets |
Media | Subir imagen a /images/ del template |
list_record_uploads |
Media | Listar uploads de un campo |
replace_record_image |
Media | Reemplazar imagen existente |
delete_record_upload |
Media | Borrar upload |
reorder_record_uploads |
Media | Reordenar imágenes de un campo |
refresh_acai_token |
Auth | Renovar token JWT expirado |
navigate_browser |
Navegación | Navegar el browser del frontend a una URL |
save_project_styles |
Proyecto | Guardar resumen de estilos en docs/project-styles.md |
orchestrate_task |
Orquestador | Guía paso a paso para tareas complejas |
rollback_git |
Git | Recuperar cambios de git remoto |
Flujos de trabajo
Crear un módulo nuevo desde cero
create_module— Crea el directorio con index-base.tpl, style.css, script.js y compilaadd_module_to_record— Añade el módulo a una página (tabla padre, ej:apartados)set_module_config_vars— Rellena las variables con contenido (textos, colores, opciones). OBLIGATORIO — sin esto el módulo no muestra nada. Devuelve:configVars: mapa de variables → recordNumsuploadFields: mapa de variables upload →{ fieldName, recordNum }— usa estos directamente para subir imágenes sin necesidad de leer builder.json- Para vars multi con uploads:
uploadFields["varName.subVarName"]es un array con[{ index, fieldName, recordNum }]
- Para imágenes:
generate_imageoupload_record_imageusando elrecordNumyfieldNamedeluploadFieldsdevuelto en el paso 3 - Verificar con
check_moduleo recargando la página
Editar un módulo existente
get_module_config_vars— Leer el estado actual del módulo (variables, recordNums)- Editar
index-base.tplcon la toolWriteoEdit compile_module— OBLIGATORIO tras cada edición de index-base.tpl- Si cambias variables:
set_module_config_varspara actualizar valores
Añadir/modificar imágenes de un módulo
Tras set_module_config_vars (método recomendado — sin pasos extra):
- El response de
set_module_config_varsincluyeuploadFieldscon losrecordNumyfieldNamede cada variable upload upload_record_imagecontableName: "builder_custom",recordIdyfieldNamedeluploadFields- Para uploads dentro de vars multi:
uploadFields["records.imagen"]devuelve array con{ index, fieldName, recordNum }por cada record
Sin haber llamado a set_module_config_vars:
get_module_config_vars— Obtener elrecordNumde builder_custom- Leer
builder.jsondel módulo para encontrar elfieldNamereal (ej:image1, NO el nombre de la variable) upload_record_imagecon:tableName:"builder_custom"(siempre sin cms_)recordId: el recordNum del paso 1fieldName: el campo de relations del builder.json (ej:image1)imageUrl: URL accesible desde Docker (ej:http://localhost/cms/uploads/...)
Generar imagen con IA
generate_imagecon prompt descriptivo + style (photographic, digital-art, minimalist...)- La imagen se guarda en
cms/uploads/generated/y devuelvedockerUrl - Usar esa
dockerUrlconupload_record_imagepara asignarla a un módulo
Gestionar registros de una tabla
list_table_records— Buscar registros con filtros (where,order,limit)get_record— Obtener un registro completo por numcreate_or_update_record— Crear o actualizar (la tabla sin prefijocms_, PK esnum)delete_table_records— Eliminar por IDs
Explorar el sitio
orchestrate_taskcon workflowexplore_site— Guía para entender la estructuralist_page_modules— Ver qué módulos tiene cada páginaget_module_config_vars— Ver los datos de cada módulocheck_module— Preview de cómo renderiza
Reglas importantes para todas las tools
- tableName siempre SIN prefijo
cms_(ej:apartados, nocms_apartados) - Primary key es siempre
num, nuncaid - Uploads son arrays — acceder con
[0].urlPath - fieldName de imágenes viene de
builder.json→vars.NOMBRE.relations.builder_custom(ej:image1), NO del nombre de la variable - recordId para imágenes es el
numdebuilder_custom, NO el sectionId del módulo - Tras
set_module_config_vars, TODAS las variables del módulo (incluyendo upload) reciben config-vars automáticamente - Si el token expira (error 403), usar
refresh_acai_token