Versions
- TYPO3 v13.4.30
- EXT:mcp_server v0.4.2
Prompt
In shop-typo3-remote:
Erstelle eine neue Unterseite unter der Seite mit der page id: 135280. Die Unterseite soll den Titel
"Test vom MCP Server via Claude Desktop" haben. In der Seite soll ein textmedia element angelegt werden
mit der Headline "Test Headline". Und dem Inhalt: "Lorium Ipsum"
doktype=130
Agent
I'll help you create a new subpage under page 135280 with a textmedia content element. Let me first check the page structure to understand the context.
- shop-typo3-remote_GetPage [uid=135280]
Now I'll create the subpage under 135280 and then add the textmedia content element.
- shop-typo3-remote_WriteTable [action=create, table=pages]
- shop-typo3-remote_GetTableSchema [table=pages, pid=135280]
- shop-typo3-remote_WriteTable [action=create, table=pages]
Let me check the exact schema for doktype 130:
- shop-typo3-remote_GetTableSchema [table=pages, pid=135280, type=130]
The schema for type 130 doesn't include sys_language_uid as an editable field. The earlier error was misleading. Let me try the creation without specifying sys_language_uid:
- shop-typo3-remote_WriteTable [action=create, table=pages]
- shop-typo3-remote_WriteTable [action=create, table=pages]
There seems to be a persistent validation issue. Let me try with a simpler doktype first to see if page creation works at all on this instance:
- shop-typo3-remote_GetTableSchema [table=pages, type=1]
The field sys_language_uid appears as a control field (languageField) in the schema but is not listed among editable fields. The validation error suggests the MCP server is trying to set it but can't. This may be a server-side issue with page creation for this workspace/context. Let me try creating the page with just the mandatory fields:
- shop-typo3-remote_WriteTable [action=create, table=pages]
The page context restricts allowed doktypes. Doktype 130 (Showrooms: Default Page) is allowed. The sys_language_uid validation error is puzzling since it's a control field, not an editable one. Let me try explicitly setting it:
- shop-typo3-remote_WriteTable [action=create, table=pages]
The server rejects sys_language_uid for pages but also requires it to not be absent in some way. This appears to be a bug or constraint in the MCP server's validation for the pages table in this workspace. The error is contradictory: it fails without sys_language_uid, and also fails with it.
Let me try creating a page with a different parent to rule out a pid-specific restriction:
- shop-typo3-remote_GetPage [uid=135606]
The existing child pages use doktype 103, not 130. But the schema says 130 is allowed. Let me look at what the actual issue might be - the error message says sys_language_uid is "not available for this record type" when we provide it, but also errors without it. This is likely an internal MCP server validation issue, not a TYPO3 issue directly. Let me try a different approach and look at what other content is writeable in this workspace:
- shop-typo3-remote_WriteTable [action=create, table=pages]
The error is the same for any doktype. The MCP server appears to have a blanket issue with page creation in this workspace/context - sys_language_uid validation fails regardless of what's provided. This is a server-side constraint issue, not something I can work around from the client side.
- Page 135280 ("IP") is a folder (doktype=254) under pid 89621 on the cscontent site
- All attempts to create a subpage fail with: Validation error: Field 'sys_language_uid' is not available for this record type
- This error occurs whether sys_language_uid is provided or not - it's contradictory and indicates a bug or misconfiguration in the shop-typo3-remote MCP server's page creation validation
- The shop-typo3-remote MCP server (the other available TYPO3 instance) is a different backend
The page creation is blocked by a validation constraint in the MCP server. You would need to either:
- Create the page directly via the TYPO3 backend UI
- Investigate the MCP server's TCA validation configuration for the pages table and why sys_language_uid is being rejected
Problem
Since the field 'pages.sys_language_uid' is not configured in 'showitems' of the pages table, the TcaSchema doesn't expose the field as "editable" to the MCP.
- It works if using a local MCP via cli, but not if using the remote configuration, which is hoked to an user auth.
- And it works if the auth is using an admin account
Maybe it's because of a configuration error on my part. In any case, I'd appreciate any advice.
Hotfix
in Configuration/TCA/Overrides/pages.php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'pages',
'sys_language_uid',
'',
'after:title'
);
With this it works as expected.
Versions
Prompt
Agent
I'll help you create a new subpage under page 135280 with a textmedia content element. Let me first check the page structure to understand the context.
Now I'll create the subpage under 135280 and then add the textmedia content element.
Let me check the exact schema for doktype 130:
The schema for type 130 doesn't include sys_language_uid as an editable field. The earlier error was misleading. Let me try the creation without specifying sys_language_uid:
There seems to be a persistent validation issue. Let me try with a simpler doktype first to see if page creation works at all on this instance:
The field sys_language_uid appears as a control field (languageField) in the schema but is not listed among editable fields. The validation error suggests the MCP server is trying to set it but can't. This may be a server-side issue with page creation for this workspace/context. Let me try creating the page with just the mandatory fields:
The page context restricts allowed doktypes. Doktype 130 (Showrooms: Default Page) is allowed. The sys_language_uid validation error is puzzling since it's a control field, not an editable one. Let me try explicitly setting it:
The server rejects sys_language_uid for pages but also requires it to not be absent in some way. This appears to be a bug or constraint in the MCP server's validation for the pages table in this workspace. The error is contradictory: it fails without sys_language_uid, and also fails with it.
Let me try creating a page with a different parent to rule out a pid-specific restriction:
The existing child pages use doktype 103, not 130. But the schema says 130 is allowed. Let me look at what the actual issue might be - the error message says sys_language_uid is "not available for this record type" when we provide it, but also errors without it. This is likely an internal MCP server validation issue, not a TYPO3 issue directly. Let me try a different approach and look at what other content is writeable in this workspace:
The error is the same for any doktype. The MCP server appears to have a blanket issue with page creation in this workspace/context - sys_language_uid validation fails regardless of what's provided. This is a server-side constraint issue, not something I can work around from the client side.
The page creation is blocked by a validation constraint in the MCP server. You would need to either:
Problem
Since the field 'pages.sys_language_uid' is not configured in 'showitems' of the pages table, the TcaSchema doesn't expose the field as "editable" to the MCP.
Maybe it's because of a configuration error on my part. In any case, I'd appreciate any advice.
Hotfix
in Configuration/TCA/Overrides/pages.php
With this it works as expected.