Skip to main content
Glama

Правка темы оформления

update_theme

Обновляет существующую тему в workspace.

Input Schema

NameRequiredDescriptionDefault
nameNoНазвание темы (опционально, max 255 символов). Если не передать — генерируется автоматически.
bg_colorNoЦвет фона в формате #RRGGBB. Используется когда background_type_id=1. Например: #0f3460.
theme_idYesID темы для обновления. Взять из theme://list или theme://{id}/details.
base_fontNoНазвание базового шрифта строкой (например «Golos Text», «Montserrat»). Опционально, max 255 символов. Если пусто — используется дефолтный шрифт.
dark_modeNoТёмная версия: off — нет, auto — по теме устройства респондента (цвета — dark_colors).
custom_cssNoСвой CSS для страницы опроса, до 20000 символов.
link_colorNoЦвет ссылок в тексте, #RRGGBB. null — цвет активного элемента (widget_active_color).
dark_colorsNoЦвета тёмной версии: объект { поле: "#RRGGBB" }. Ключи: bg_color, header_color, answers_text_color, widget_active_color, buttons_color, buttons_text_color, dropdown_bg_color, link_color, error_color, backdrop_color, bg_gradient_start, bg_gradient_end. Незнакомые ключи отбрасываются; поля без ключа остаются светлыми.
error_colorNoЦвет ошибок проверки и рамки поля с ошибкой, #RRGGBB. null — #e5484d.
input_styleNoСтиль полей ввода: box — поле в рамке, underline — одна линия.
base_font_idNoID базового шрифта. Популярные: 1=Native, 2=Roboto, 3=Open Sans, 4=Montserrat, 5=Source Sans Pro, 6=Merriweather, 9=PT Sans, 11=Ubuntu, 15=Rubik, 18=Comfortaa, 44=Golos Text. Полный список 1–44.
bg_video_urlNoАдрес видео фона (.mp4, .webm): путь от корня или http(s)-адрес. Работает при background_type_id 3.
header_colorNoЦвет заголовка в формате #RRGGBB. Например: #1a1a2e.
heading_fontNoОтдельный шрифт заголовков, название гарнитуры Google Fonts. Пусто — шрифт как у остального текста.
service_textNoСлужебный текст, до 500 символов. Простая разметка допустима, остальное вырезается.
workspace_idYesID воркспейса. Взять из workspace://list.
answer_borderNoТолщина рамки вариантов ответа в px (0–999). Например: 1.
buttons_colorNoЦвет кнопок в формате #RRGGBB. Например: #3b82f6.
answer_lettersNoБуквы A, B, C… перед вариантами у вопросов с выбором; выбор с клавиатуры.
backdrop_colorNoЦвет карточки подложки (question_backdrop: card), #RRGGBB.
buttons_radiusNoСкругление кнопок в px (0–999). Например: 8.
progress_styleNoИндикатор прогресса: percent, line или steps.
answers_size_idNoРазмер вариантов ответа: 0 — маленький, 1 — средний, 2 — большой. null вместе с answers_size_percent — как у вопроса.
bg_gradient_endNoКонечный цвет градиента в формате #RRGGBB. Например: #00ffd8.
bg_logo_file_idNoID загруженного файла логотипа поверх фона (min:1).
bg_logo_size_idNoРазмер логотипа на фоне: 0 — маленький, 1 — средний (по умолчанию), 2 — большой.
buttons_type_idNoТип кнопок: 1=background (заливка цветом), 2=border (только рамка).
container_widthNoШирина содержимого: narrow, normal, wide или full.
custom_font_urlNoАдрес файла своего шрифта (.woff2, .woff, .ttf, .otf): путь от корня или http(s)-адрес. Файл на чужом сервере должен отдаваться с Access-Control-Allow-Origin.
bg_image_file_idNoID загруженного файла фонового изображения (min:1). Используется когда background_type_id=1.
custom_font_nameNoНазвание своего шрифта, до 60 символов: буквы, цифры, пробел, точка, дефис, подчёркивание. Чтобы шрифт применился, укажите это же название в base_font или heading_font.
bg_gradient_startNoНачальный цвет градиента в формате #RRGGBB (ровно 6 hex-символов). Например: #00d4ff.
button_full_widthNoРастянуть кнопку на всю ширину контейнера.
dropdown_bg_colorNoЦвет фона раскрытого меню выпадающего списка в формате #RRGGBB (опционально). Если не передать — наследует bg_color.
question_backdropNoПодложка под вопросами: none — нет, card — карточка цвета backdrop_color, glass — матовое стекло.
questions_size_idNoРазмер текста вопросов: 0 — маленький, 1 — средний, 2 — большой.
service_text_sizeNoРазмер служебного текста: 12, 14 или 16.
answers_text_colorNoЦвет текста ответов в формате #RRGGBB (опционально). Если не передать — наследует header_color.
background_opacityNoПрозрачность фона в процентах (0–100). 100 = непрозрачный.
background_type_idNoТип фона: 1=color_image (цвет/изображение), 2=gradient (градиент), 3=video (видео из bg_video_url).
bg_gradient_vectorNoНаправление градиента в градусах (0–360). Используется когда background_type_id=2. Пример: 90 = слева направо, 180 = сверху вниз.
buttons_text_colorNoЦвет текста кнопок в формате #RRGGBB. Например: #ffffff.
service_text_colorNoЦвет служебного текста в формате #RRGGBB.
service_text_scopeNoГде показывать служебный текст: all — на всех экранах, welcome, questions или finish.
background_contrastNoКонтраст фона (-100 – +100). 0 = без изменений.
background_saturateNoНасыщенность фона (-100 – +100). 0 = без изменений.
bg_logo_position_idNoПоложение логотипа на фоне: 0 — слева (по умолчанию), 1 — по центру, 2 — справа. Нумерация своя, с background_position_id не совпадает.
bg_mobile_image_urlNoАдрес своей картинки фона для телефона: путь от корня или http(s)-адрес. null — на телефоне основная картинка.
question_transitionNoПереход между вопросами: slide, fade, zoom, blur или none.
widget_active_colorNoЦвет активного элемента виджета в формате #RRGGBB. Например: #e94560.
answers_size_percentNoСвой размер вариантов ответа, проценты от среднего: целое 50–200. Важнее answers_size_id.
background_lightnessNoЯркость фона (-100 – +100). 0 = без изменений.
bg_gradient_animatedNoЖивой градиент: цвета градиентного фона медленно перетекают.
service_text_enabledNoПоказывать служебный текст — короткую строку для дисклеймера или согласия.
answer_options_radiusNoСкругление вариантов ответа в px (0–999). Например: 4.
answer_selected_styleNoКак отмечен выбранный вариант: fill — заливкой, frame — рамкой, check — галочкой справа.
questions_position_idNoВыравнивание текста вопросов: 0 — слева, 1 — по центру.
service_text_align_idNoВыравнивание служебного текста: 0 — слева, 1 — по центру, 2 — справа. Справа работает только вместе с верхним размещением: внизу справа стоят стрелки навигации и бейдж WebAsk.
background_position_idNoПозиция фона: 1=center center, 2=left center, 3=right center, 4=center top, 5=left top, 6=right top, 7=center bottom, 8=left bottom, 9=right bottom.
questions_size_percentNoСвой размер текста вопросов, проценты от среднего: целое 50–200. null — размер по questions_size_id.
background_placement_idNoРазмещение фона: 1=stretch (растянуть), 2=drawin (вписать), 3=cover (заполнить).
service_text_placement_idNoГде на экране стоит служебный текст: 0 — снизу, 1 — сверху.
welcome_and_finish_size_idNoРазмер текста на приветствии и завершении: 0 — маленький, 1 — средний, 2 — большой.
welcome_and_finish_position_idNoВыравнивание текста на приветствии и завершении: 0 — слева, 1 — по центру.
welcome_and_finish_size_percentNoСвой размер текста приветствия и завершения, проценты от среднего: целое 50–200. null — размер по welcome_and_finish_size_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changed
    • addedInput schema / properties / answer_letters
      Added value: +{
      +  "description": "Буквы A, B, C… перед вариантами у вопросов с выбором; выбор с клавиатуры.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / answer_selected_style
      Added value: +{
      +  "description": "Как отмечен выбранный вариант: fill — заливкой, frame — рамкой, check — галочкой справа.",
      +  "enum": [
      +    "fill",
      +    "frame",
      +    "check"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / answers_size_id
      Added value: +{
      +  "description": "Размер вариантов ответа: 0 — маленький, 1 — средний, 2 — большой. null вместе с answers_size_percent — как у вопроса.",
      +  "enum": [
      +    0,
      +    1,
      +    2
      +  ],
      +  "type": "integer"
      +}
    • addedInput schema / properties / answers_size_percent
      Added value: +{
      +  "description": "Свой размер вариантов ответа, проценты от среднего: целое 50–200. Важнее answers_size_id.",
      +  "maximum": 200,
      +  "minimum": 50,
      +  "type": "integer"
      +}
    • addedInput schema / properties / backdrop_color
      Added value: +{
      +  "description": "Цвет карточки подложки (question_backdrop: card), #RRGGBB.",
      +  "type": "string"
      +}
    • changedInput schema / properties / background_type_id / description
      Previous value: -"Тип фона: 1=color_image (цвет/изображение), 2=gradient (градиент)."New value: +"Тип фона: 1=color_image (цвет/изображение), 2=gradient (градиент), 3=video (видео из bg_video_url)."
    • addedInput schema / properties / bg_gradient_animated
      Added value: +{
      +  "description": "Живой градиент: цвета градиентного фона медленно перетекают.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / bg_mobile_image_url
      Added value: +{
      +  "description": "Адрес своей картинки фона для телефона: путь от корня или http(s)-адрес. null — на телефоне основная картинка.",
      +  "type": "string"
      +}
    • addedInput schema / properties / bg_video_url
      Added value: +{
      +  "description": "Адрес видео фона (.mp4, .webm): путь от корня или http(s)-адрес. Работает при background_type_id 3.",
      +  "type": "string"
      +}
    • addedInput schema / properties / custom_font_name
      Added value: +{
      +  "description": "Название своего шрифта, до 60 символов: буквы, цифры, пробел, точка, дефис, подчёркивание. Чтобы шрифт применился, укажите это же название в base_font или heading_font.",
      +  "type": "string"
      +}
    • addedInput schema / properties / custom_font_url
      Added value: +{
      +  "description": "Адрес файла своего шрифта (.woff2, .woff, .ttf, .otf): путь от корня или http(s)-адрес. Файл на чужом сервере должен отдаваться с Access-Control-Allow-Origin.",
      +  "type": "string"
      +}
    • addedInput schema / properties / dark_colors
      Added value: +{
      +  "description": "Цвета тёмной версии: объект { поле: \"#RRGGBB\" }. Ключи: bg_color, header_color, answers_text_color, widget_active_color, buttons_color, buttons_text_color, dropdown_bg_color, link_color, error_color, backdrop_color, bg_gradient_start, bg_gradient_end. Незнакомые ключи отбрасываются; поля без ключа остаются светлыми.",
      +  "properties": {
      +    "answers_text_color": {
      +      "type": "string"
      +    },
      +    "backdrop_color": {
      +      "type": "string"
      +    },
      +    "bg_color": {
      +      "type": "string"
      +    },
      +    "bg_gradient_end": {
      +      "type": "string"
      +    },
      +    "bg_gradient_start": {
      +      "type": "string"
      +    },
      +    "buttons_color": {
      +      "type": "string"
      +    },
      +    "buttons_text_color": {
      +      "type": "string"
      +    },
      +    "dropdown_bg_color": {
      +      "type": "string"
      +    },
      +    "error_color": {
      +      "type": "string"
      +    },
      +    "header_color": {
      +      "type": "string"
      +    },
      +    "link_color": {
      +      "type": "string"
      +    },
      +    "widget_active_color": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / dark_mode
      Added value: +{
      +  "description": "Тёмная версия: off — нет, auto — по теме устройства респондента (цвета — dark_colors).",
      +  "enum": [
      +    "off",
      +    "auto"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / error_color
      Added value: +{
      +  "description": "Цвет ошибок проверки и рамки поля с ошибкой, #RRGGBB. null — #e5484d.",
      +  "type": "string"
      +}
    • addedInput schema / properties / link_color
      Added value: +{
      +  "description": "Цвет ссылок в тексте, #RRGGBB. null — цвет активного элемента (widget_active_color).",
      +  "type": "string"
      +}
    • addedInput schema / properties / question_backdrop
      Added value: +{
      +  "description": "Подложка под вопросами: none — нет, card — карточка цвета backdrop_color, glass — матовое стекло.",
      +  "enum": [
      +    "none",
      +    "card",
      +    "glass"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / questions_size_percent
      Added value: +{
      +  "description": "Свой размер текста вопросов, проценты от среднего: целое 50–200. null — размер по questions_size_id.",
      +  "maximum": 200,
      +  "minimum": 50,
      +  "type": "integer"
      +}
    • addedInput schema / properties / welcome_and_finish_size_percent
      Added value: +{
      +  "description": "Свой размер текста приветствия и завершения, проценты от среднего: целое 50–200. null — размер по welcome_and_finish_size_id.",
      +  "maximum": 200,
      +  "minimum": 50,
      +  "type": "integer"
      +}
  2. First observed

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: for a 65-parameter mutation it does not explain partial-update semantics (are unpassed fields preserved?), null handling, permissions, or reversibility, all of which the annotations do not supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy, so it is efficiently structured. It is arguably too terse for a 65-parameter tool, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Against very high complexity (65 params, nested dark_colors object, 12 enums, no output schema) a one-line description is insufficient: it omits partial-update behavior, required-ID sourcing, and error/validation expectations that the structured fields do not convey.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter carries its own detailed description (defaults, enums, ranges, null behavior), so the schema does the heavy lifting and baseline 3 applies. The description contributes no additional parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Обновляет ... тему') and scopes it to an existing theme in a workspace, which distinguishes it from create_theme. However it offers no differentiation against close siblings like manage_theme or apply_quiz_theme, leaving the agent to guess which update path to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives (manage_theme, create_theme, apply_quiz_theme), and no prerequisites. The single sentence gives no routing signal beyond the name itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources