feat(mcp): tools de idiomas y traducciones

- Nueva categoria tools/languages: list_web_languages,
  get_record_translations y set_record_translations (registros, config,
  textos_generales y vars de modulo via builder_custom).
- Param lang opcional en list_table_records y get_record
  (options.translates de CocoDB).
- Docs actualizados (03/04/06/09/11b + ACAI_ENDPOINTS) con el modelo de
  cms_traducciones y los workflows de traduccion.
This commit is contained in:
Jordan Diaz
2026-07-16 20:09:47 +00:00
parent d475845c27
commit d46c204ed0
13 changed files with 382 additions and 3 deletions

View File

@@ -20,9 +20,10 @@ Examples:
recordNum: z.string().describe("Record 'num' (primary key)"),
loadUploads: z.boolean().optional().default(true).describe("Load upload field data (default: true)"),
loadRelations: z.boolean().optional().default(true).describe("Resolve foreign key relations (default: true)"),
lang: z.string().optional().describe("Language prefix (e.g. 'en'). Returns translated values for translatable fields"),
}),
{ readOnlyHint: true, destructiveHint: false },
withAuth(async ({ tableName, recordNum, loadUploads = true, loadRelations = true }, extra) => {
withAuth(async ({ tableName, recordNum, loadUploads = true, loadRelations = true, lang }, extra) => {
try {
const validationError = validateRequired(
{ tableName, recordNum },
@@ -53,6 +54,11 @@ Examples:
payload.options.ignoreSchema = true;
}
// Si se pide un idioma, el motor CocoDB aplica la traduccion en lectura.
if (lang) {
payload.options.translates = lang;
}
const response = await AcaiHttpClient.postCmsApi(
credentials,
"get",