Skip to main content

Create Entities

An entity defines the data structure of your application. It is equivalent to a table.

MCP Tool: generate_entity

Profile: core

Parameters

ParameterTypeRequiredDescription
definitionobjectYesStructure of the entity and its fields
auto_publishbooleanNoPublish automatically (default: false)
version_messagestringConditionalRequired if auto_publish=true

Structure of definition

{
"entity": {
"name": "productos",
"displayName": "Productos",
"description": "Catalogo de productos",
"icon": "box"
},
"fields": [
{
"name": "Nombre",
"fieldKey": "nombre",
"fieldType": "text",
"isRequired": true,
"isUnique": false,
"description": "Nombre del producto",
"config": {}
}
]
}

Properties of entity

PropertyTypeRequiredDescription
namestringYesTechnical name (snake_case)
displayNamestringNoDisplay name. Default: name
descriptionstringNoEntity description
iconstringNoIcon. Default: "box"

Properties of each field

PropertyTypeRequiredDescription
namestringYesDisplay name of the field
fieldKeystringYesTechnical key (snake_case, unique)
fieldTypestringYesData type (see Field Types)
isRequiredbooleanNoRequired. Default: false
isUniquebooleanNoUnique value. Default: false
descriptionstringNoField description
configobjectNoType-specific configuration

Full Example

generate_entity({
definition: {
entity: {
name: "facturas",
displayName: "Facturas",
description: "Facturas de venta",
icon: "file-text"
},
fields: [
{ name: "Numero", fieldKey: "numero", fieldType: "text", isRequired: true, isUnique: true },
{ name: "Cliente", fieldKey: "cliente_id", fieldType: "relation", config: { relatedEntity: "clientes" } },
{ name: "Fecha", fieldKey: "fecha", fieldType: "date", isRequired: true },
{ name: "Estado", fieldKey: "estado", fieldType: "select", config: { options: ["borrador", "emitida", "pagada", "anulada"] } },
{ name: "Total", fieldKey: "total", fieldType: "number" },
{ name: "Archivo PDF", fieldKey: "pdf_documento", fieldType: "file" }
]
},
auto_publish: true,
version_message: "Crear entidad facturas"
})

Successful Response

{
"success": true,
"message": "Entity \"facturas\" created successfully",
"fieldsProcessed": 6,
"entity": {
"name": "facturas",
"displayName": "Facturas",
"description": "Facturas de venta",
"fields": [
{ "name": "Numero", "fieldKey": "numero", "type": "text", "required": true },
{ "name": "Cliente", "fieldKey": "cliente_id", "type": "relation", "required": false }
]
}
}

MCP Tool: list_entities

Profile: core

Lists the entities of the tenant. By default, only shows published ones.

Parameters

ParameterTypeRequiredDescription
include_draftsbooleanNoInclude drafts. Default: false

Example

list_entities({ include_drafts: true })

Response

[
{
"name": "clientes",
"displayName": "Clientes",
"description": "Base de clientes",
"fieldCount": 5,
"status": "published",
"version": 2
}
]

MCP Tool: get_entity_schema

Profile: core

Gets the full definition of an entity, including structure hints for complex types (location, file, select).

Parameters

ParameterTypeRequiredDescription
entityNamestringYesEntity name
versionstringNoVersion: number, "draft", or "published" (default)

Example

get_entity_schema({ entityName: "clientes", version: "published" })

Response

{
"name": "clientes",
"displayName": "Clientes",
"description": "Base de clientes",
"version": 2,
"status": "published",
"fields": [
{
"name": "Nombre",
"fieldKey": "nombre",
"type": "text",
"required": true,
"isSystem": false,
"description": "Nombre del cliente",
"config": {}
},
{
"name": "Ubicacion",
"fieldKey": "ubicacion",
"type": "location",
"required": false,
"isSystem": false,
"config": { "displayFormat": "both" },
"structureHint": {
"format": "{ lat: number, lng: number, address?: string, city?: string, country?: string }",
"description": "Geographic location with coordinates and optional address components",
"configOptions": {
"displayFormat": "\"map\" | \"text\" | \"both\" (default: \"both\")",
"defaultZoom": "number 1-20 (default: 13)",
"defaultCenter": "{ lat: number, lng: number }"
}
}
}
]
}

MCP Tool: delete_entity

Profile: advanced

Deletes an entity and all its records. This action cannot be undone.

Parameters

ParameterTypeRequiredDescription
entityNamestringYesName of the entity to delete
Creado con Fyso