Droost: Entity Create
droost_entity_create Write (gated)
Module: Droost coreCreates any content entity through the real entity API (validation, hooks, path aliases). Model first with droost_entities; on pathauto sites pin explicit aliases with path.pathauto=0. Config entities have dedicated composers. Gated.
Example call
{
"tool": "droost_entity_create",
"arguments": {
"entity_type": "node",
"values": {
"type": "tool",
"title": "droost_example_tool",
"field_tool_label": "Example",
"field_tool_module": "droost",
"field_tool_tier": "read",
"field_tool_summary": "An example."
}
}
}
Example response — captured live on this site
{
"success": false,
"message": "This tool is disabled. Enable it with: drush config:set droost.settings allow_destructive true (or via Admin → Configuration → Development → Droost), then reload the MCP server in your editor — the running server caches this flag at startup and will keep refusing until it is restarted. (To disable later, use --input-format=yaml false so the value is stored as a real boolean.)",
"data": null
}
Creates and saves a new entity. Provide "entity_type" and "values" (a field => value map, e.g. {"type":"article","title":"Hello"}). Disabled unless droost.settings.allow_destructive is on, and only over the CLI/STDIO transport.
Input schema (JSON Schema)
{
"type": "object",
"properties": {
"entity_type": {
"type": "string",
"description": "Entity type machine name, e.g. \"node\", \"user\", \"taxonomy_term\"."
},
"values": {
"type": "object",
"description": "Field => value map for the new entity (include \"type\"/bundle where required)."
}
},
"required": [
"entity_type",
"values"
]
}
Droost