MCP creating ghost properties

I’ve been experimenting with the MCP server (@umbraco-cms/mcp-dev@beta) using VS Code and Copilot. In general, it works well — I’ve been able to create document types, assign templates, and generate content successfully.

However, sometimes it seems to break things. For example, I asked it to create a Start Page with a text property called Heading and a block list property called Blocks. That worked perfectly. Then I asked it to create a block as an element type, with a simple text property also called Heading. The agent confirmed it was done correctly, and the generated file shows the properties.

Yet, in the Umbraco UI, the text block shows no properties. I’ve tried rebuilding the cache, regenerating models, deleting TEMP folders, etc., but nothing helps. Adding a property manually works, but asking the agent to create additional properties causes all of them — even manually added ones — to disappear in the UI, despite being present in the generated file.

Does anyone have any idea what’s causing this?

It might be because it forgets to assign the property to a group or a tab. I’ve seen this, and it makes the property invisible in the UI.

1 Like

What’s probably happening is the properties are not assigned to a group. I had this happen and when I looked at the models from Models builder I could see they were in fact present. I added a rule that all properties must be assigned to a group. Shannon has created a set of rules he used for a recent demo that you can see here: UmbracoAI/.rulesync/rules at main · Shazwazza/UmbracoAI · GitHub

HTH,
t

1 Like

Cheers @TwoMoreThings and @skttl. That thought crossed my mind too, that it had something to do with the groups, thanks for linking the rules, I will apply them and see what happens :slight_smile:

1 Like

@phil-w is this something that should be updated in the mcp?

Hey, I think i am going to actively look at ways we can improve how properties are created and updated using the Umbraco MCP. The difficulty is that the json payloads and be very big and that leads to possible hallucination and duplication.

One way I am thinking to solve this is by adding a new tool that is specifically design to create or update one property at a time.

Would this makes things easier?

I do think the OpenAI swagger docs, could really help with this, having things as optional objects with required properties. As that would help the zod models as well