Saltar al contenido principal

Agregar y gestionar campos

Los campos se pueden agregar al crear la entidad (via generate_entity) o despues usando manage_custom_fields.

MCP Tool: manage_custom_fields

Perfil: advanced

Gestiona campos personalizados de una entidad. Permite listar, agregar, actualizar y eliminar campos creados por el usuario. Los campos custom NO se ven afectados por import/export de metadata.

Parametros

ParametroTipoRequeridoDescripcion
actionstringSi"list", "add", "update", "delete"
entityNamestringSiNombre de la entidad
fieldIdstringCondicionalID del campo (requerido para update y delete)
typestringNoFiltro para list: "custom", "system", "all". Default: "custom"
fieldDataobjectCondicionalDatos del campo (requerido para add y update)

Listar campos

manage_custom_fields({
action: "list",
entityName: "clientes",
type: "all"
})

Respuesta:

{
"success": true,
"entity": "clientes",
"filter": "all",
"count": 5,
"fields": [
{
"id": "uuid",
"name": "Nombre",
"fieldKey": "nombre",
"fieldType": "text",
"isSystem": false,
"isRequired": true,
"description": "Nombre del cliente",
"config": {}
}
]
}

Agregar un campo

manage_custom_fields({
action: "add",
entityName: "clientes",
fieldData: {
name: "Direccion",
fieldKey: "direccion",
fieldType: "text",
description: "Direccion del cliente",
isRequired: false
}
})

Para campos con configuracion:

manage_custom_fields({
action: "add",
entityName: "clientes",
fieldData: {
name: "Estado",
fieldKey: "estado",
fieldType: "select",
config: {
options: ["activo", "inactivo", "suspendido"]
}
}
})

Campos requeridos en fieldData para add:

  • name -- Nombre visible
  • fieldKey -- Clave tecnica (snake_case)
  • fieldType -- Tipo de dato

Actualizar un campo

manage_custom_fields({
action: "update",
entityName: "clientes",
fieldId: "uuid-del-campo",
fieldData: {
name: "Nombre completo",
isRequired: true,
description: "Nombre y apellido del cliente"
}
})

Campos actualizables: name, description, isRequired, isUnique, isVisible, displayOrder, config.

Eliminar un campo

manage_custom_fields({
action: "delete",
entityName: "clientes",
fieldId: "uuid-del-campo"
})

Solo se pueden eliminar campos custom (isSystem=false). Los campos del sistema estan protegidos.

Campos del sistema vs custom

TipoCreado porEditableAfectado por import/export
Systemgenerate_entity / metadata importNoSi
Custommanage_custom_fieldsSiNo
Creado con Fyso