Инструменты MCP
Справочник: 20 инструментов, что принимают и что возвращают
Список собирается из кода сервера, поэтому совпадает с тем, что отдаёт tools/list. Звёздочкой отмечены обязательные параметры.
| Инструмент | Что делает | Параметры |
|---|---|---|
whoami | Проверка связи: почта аккаунта, чей ключ пришёл, сколько у него сайтов, открыт ли конструктор Woove Site. | — |
list_sites | Сайты аккаунта: номер, название, число страниц, адрес опубликованного сайта. | — |
list_pages | Страницы сайта с блоками: номер, название, адрес, опубликована ли, список блоков (номер, название, тип). Шапка и подвал — тоже здесь (kind header/footer). | site_id* — Номер сайта из list_sites |
get_page | Одна страница: настройки и блоки по порядку с их содержимым (Zero-блоки — текстом на Zero-языке, секции — полями). | page_id* — Номер страницы |
get_block | Блок по номеру: Zero-блок — текст на Zero-языке (его можно править и отдать в update_zero_block), секция — раскладка и поля. | block_id* — Номер блока |
zero_reference | Справочник Zero-языка: как записать блок текстом (элементы, колонки, экраны, цвета, кнопки, формы). Прочитайте перед create_zero_block. | — |
create_zero_block | Создать блок Woove Zero из текста на Zero-языке. Если указана страница — блок встанет на неё (position — номер места с нуля, по умолчанию в конец). Возвращает номер блока, что не разобралось построчно и адрес предпросмотра страницы. | site_id* — Номер сайта; text* — Блок на Zero-языке; name — Название блока в кабинете; page_id — Страница, куда поставить блок; position — Место на странице, с нуля |
update_zero_block | Заменить содержимое Zero-блока текстом на Zero-языке (сначала get_block, поправьте текст, отдайте целиком). | block_id* — Номер блока; text* — Новый текст блока на Zero-языке; name — Новое название, если нужно |
neiro_zero_block | Собрать или переделать Zero-блок с помощью Woove Neiro: описание словами и/или макет (картинка по ссылке или base64, PDF). Тратит правки Neiro по тарифу. Без block_id создаёт новый блок (и ставит на страницу, если дана), с block_id — переделывает существующий. | site_id* — Номер сайта; prompt — Что собрать или поменять, по-русски; block_id — Существующий блок, который переделать; page_id — Страница для нового блока; position — Место на странице, с нуля; image_url — Ссылка на макет: PNG, JPG, WebP, GIF или PDF; image_base64 — Макет в base64 (до 6 МБ); media_type — Тип для image_base64: image/png, image/jpeg, application/pdf; model — sonnet (по умолчанию) или opus |
page_from_mockup | Собрать целую страницу по макету (PNG, JPG или многостраничный PDF по ссылке или base64): Neiro режет макет на блоки и собирает каждый в Woove Zero, страница создаётся с этими блоками. Тратит правки Neiro. Возвращает номер страницы и блоки. | site_id* — Номер сайта; name — Название новой страницы; path — Адрес страницы, например /uslugi (по умолчанию из названия); prompt — Пожелания: что важно сохранить, какие тексты; image_url — Ссылка на макет; image_base64 — Макет в base64 (до 6 МБ); media_type — Тип для image_base64; model — sonnet (по умолчанию) или opus |
list_library | Готовые секции Woove Blocks (шапки, обложки, преимущества, цены, отзывы, формы, магазин…): номер, категория, название, о чём. Фильтр по слову. | query — Слово для поиска: отзывы, цены, форма, шапка; limit — Сколько вернуть, по умолчанию 40 |
add_library_section | Поставить готовую секцию из библиотеки на страницу. Секция копируется в сайт со своими текстами — потом их можно править через get_block/update_section_fields. | site_id* — Номер сайта; page_id* — Страница; library_id* — Номер секции из list_library; position — Место на странице, с нуля |
update_section_fields | Поменять поля секции из библиотеки: content — объект полей (заголовок, тексты, списки), vars — варианты вида. Что за поля у секции, видно в get_block. Свои галочки под формой: content.form.checks (у онлайн-записи и магазина content.checks, у подписки в подвале content.subChecks) = { own: true, list: { text: "Я принимаю [оферту", required: true }] }, до 20 галочек, текст до 500 знаков, ссылки текст; без own форма берёт галочки сайта. | block_id* — Номер блока-секции; content — Поля: только те, что меняете; vars — Варианты вида: только те, что меняете |
check_contrast | Контраст пары цветов по WCAG 2.x: отношение, проходит ли для обычного текста (4,5 : 1) и крупного (3 : 1 от 24 px или от 18,66 px жирным), ближайший читаемый цвет того же оттенка. Цвета: #hex, rgb(), hsl(), имена; с site_id понимает токены сайта var(--c-ink), var(--c-mute) и другие. | fg* — Цвет текста: #777777, rgba(0,0,0,.6), var(--c-mute); bg* — Цвет фона; font_size — Кегль в px, по умолчанию 16; bold — Жирный, от 700; site_id — Сайт, чьи токены палитры var(--c-…) подставить |
check_readability | Читаемость сайта или страницы, как раздел «Читаемость» в «Проверке сайта»: пары цветов палитры и тексты, которые не читаются на своём фоне (страница, блок, фрагмент, контраст, сколько нужно, какой цвет поставить). Текст на фото отмечен photo: true — его контраст не посчитать. | site_id — Номер сайта: весь сайт; page_id — Страница: только она, её шапка и подвал |
fix_readability | Поправить нечитаемые тексты: у текстов, кнопок и полей формы ставит ближайший читаемый цвет того же оттенка, у секции со своим фоном меняет тон фона. Текст на фото не трогает. Область: block_id, page_id (с шапкой и подвалом) или site_id; palette: true правит и палитру сайта. Перед правкой страницы получают снимок в истории. | block_id — Один блок; page_id — Все блоки страницы, её шапка и подвал; site_id — Все блоки на страницах сайта; palette — Поправить и палитру сайта (цвета, на которые ссылаются секции) |
set_page_blocks | Задать порядок блоков страницы списком номеров (убрать блок — не включать его в список; блок останется в сайте). | page_id* — Страница; block_ids* — Номера блоков по порядку |
create_page | Новая пустая страница сайта. | site_id* — Номер сайта; name* — Название; path — Адрес, например /o-nas (по умолчанию из названия) |
publish_page | Опубликовать страницу (или отправить правки на сайт, если она уже опубликована). Возвращает адрес, по которому её видят посетители. | page_id* — Страница |
site_url | Адреса сайта: на хостинге Woove (<имя>.site.woove.ru) и на своём домене, если подключён. | site_id* — Номер сайта |
Ресурсы
woove://zero-language— Zero-язык: Как описать блок Woove Zero текстомwoove://library— Библиотека Woove Blocks: Готовые секции: номера, категории, названия
Порядок работы
whoami— убедиться, что ключ принятlist_sites→list_pages— найти сайт и страницуzero_reference— прочитать Zero-язык, если будете писать блокиcreate_zero_blockилиadd_library_section— добавить блокset_page_blocks— расставить порядокcheck_readability— убедиться, что тексты читаютсяpublish_page— показать посетителям
Читаемость
Инструменты, которые создают или меняют блоки, возвращают поле readability, если текст где-то не читается на своём фоне. Это create_zero_block, update_zero_block, add_library_section и другие правки блоков. Нет поля — всё читается.
Каждое место описано так: блок, номера элементов по порядку строк Zero-текста, фрагмент текста, цвета fg и bg, контраст ratio, сколько нужно need и предложенный цвет suggest. Обычному тексту нужно 4,5 : 1, крупному от 24 px или от 18,66 px жирным хватит 3 : 1.
json
{"block_id": 5281, "what": "Текст", "text": ["Скидка до пятницы"], "fg": "#b0b0b0", "bg": "#f5f5f3",
"ratio": 1.99, "need": 4.5, "elements": [3], "suggest": "#707070",
"fix": "Поставьте цвет #707070: в Zero-языке цвет пишется в строке элемента после текста"}check_contrast— контраст пары цветов; сsite_idпонимает токены палитрыvar(--c-ink)и другиеcheck_readability— пары палитры и нечитаемые тексты сайта или страницы, как в «Проверке сайта»fix_readability— ближайший читаемый цвет того же оттенка для блока, страницы или сайта; текст на фото (photo: true) не трогает
Контраст текста на фото не посчитать. Такое место приходит с
photo: true и худшим случаем worst_ratio: под текст нужна тёмная подложка или затемнение фото.
Читайте дальше
Помогла статья?