tilda-mcp-cdp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tilda-mcp-cdpПоставь Метрику 12345 в проект 67890"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tilda-mcp-cdp
MCP-сервер для Tilda с поддержкой массового редактирования. 16 инструментов: 5 на чтение через официальный API + 11 на запись через залогиненный Chrome по CDP (Яндекс.Метрика, код-блоки T123, ссылки Zero Block, полноценный редактор элементов Zero Block, публикация, проверка живого кода).
Официальный API Tilda умеет только читать. Этот сервер добавляет слой действий через CDP (управление залогиненным Chrome), чтобы массово править сайты прямо из MCP.
Зачем
Официальный Tilda API (api.tildacdn.info) — только чтение. Любые изменения сайта
(счётчик Метрики, сторонние скрипты в блоках, ссылки кнопок, публикация) делаются только
в интерфейсе. Этот сервер автоматизирует их, управляя твоим залогиненным Chrome по
протоколу отладки (CDP) — так можно массово править десятки одинаковых лендингов одной командой.
Related MCP server: Tilda MCP Server
Требования
Node.js ≥ 18
Для чтения:
TILDA_PUBLIC_KEY+TILDA_SECRET_KEY(настройки аккаунта Tilda)Для действий: запущенный Chrome с портом отладки и входом в Tilda (см. ниже)
Установка
git clone https://github.com/skiddgoddamn/tilda-mcp-cdp.git
cd tilda-mcp-cdp
npm install
npm run buildПодключение к Claude Code / Desktop / Cursor
{
"mcpServers": {
"tilda": {
"command": "node",
"args": ["/абсолютный/путь/tilda-mcp-cdp/dist/index.js"],
"env": {
"TILDA_PUBLIC_KEY": "your-public-key",
"TILDA_SECRET_KEY": "your-secret-key",
"TILDA_CDP_URL": "http://localhost:9222"
}
}
}
}Запуск debug-Chrome (для инструментов записи)
Chrome 136+ блокирует порт отладки на профиле по умолчанию (защита cookies), поэтому запускаем на отдельном профиле и один раз логинимся в Tilda:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\chrome-debug-tilda" --no-first-run https://tilda.cc/projects/Проверить, что всё подключилось: вызови инструмент chrome_status — он покажет
connected, loggedIn и аккаунт. Адрес CDP меняется переменной TILDA_CDP_URL.
Streamable HTTP
TILDA_PUBLIC_KEY=xxx TILDA_SECRET_KEY=yyy node dist/index.js --http --port 3001
# Endpoint: http://localhost:3001/mcp Health: http://localhost:3001/healthИнструменты (16)
Чтение — официальный API
Инструмент | Описание |
| Список проектов |
| Подробная информация о проекте (домен, настройки, CSS/JS) |
| Список страниц проекта |
| Полная информация о странице (HTML, CSS, JS) |
| Экспорт страницы для самостоятельного хостинга |
Действия — через Chrome по CDP
Инструмент | Аргументы | Описание |
| — | Проверка CDP-подключения и сессии Tilda |
|
| ID Яндекс.Метрики в настройках проекта |
|
| Замена (regexp) в HTML-код-блоках T123 — напр. трекеры |
|
| Замена ссылок (regexp) в элементах Zero Block — напр. кнопки |
|
| Опубликовать страницу |
|
| Проверка живого HTML на наличие/отсутствие подстрок |
Редактор Zero Block — через CDP
Полноценное редактирование элементов Zero Block по модели артборда (детерминированно,
без кликов по холсту). Сначала всегда zero_get_elements, чтобы увидеть реальные id и
имена полей, потом правишь.
Инструмент | Аргументы | Описание |
|
| Список элементов блока: тип, текст, ссылки, геометрия, все поля ( |
|
| Deep-merge JSON-патча в элемент(ы): текст, цвет, шрифт, размер, позиция, ссылка ( |
|
| Добавить элемент: клон существующего (schema-safe) + патч, либо произвольный JSON-объект |
|
| Удалить выбранный элемент(ы) |
|
| Regexp-замена текста/строк по всей модели блока |
find— это регулярное выражение (флагgприменяется автоматически).Действия записи (
replace_page_code,replace_zero_links,zero_*) по умолчанию публикуют страницу (publish: true).Изменения видны на сайте только после публикации.
Выбор Zero Block:
recId(если знаешь) илиmatch— regexp по содержимому блока.Выбор элемента:
id(ключ изzero_get_elements),index(0-based) илиtextContains. Критерии объединяются по И.
Как это работает под капотом
Метрика — поле
#yandexmetrikaidв настройках проекта (вкладка «Аналитика»).Код-блоки T123 — содержимое редактируется в ACE-редакторе (
window.ace), сохранение «Сохранить и закрыть».Ссылки Zero Block — берётся модель блока (
ab__getDBSaveData()), ссылки заменяются вcleanElementsDataи сохраняются POST-запросом/zero/submit/(детерминированно, без кликов по холсту).Редактор Zero Block (
zero_*) — тот же путь, обобщённый: модельcleanElementsDataчитается из артборда наружу, правится в Node (deep-merge патча / клонирование / удаление / regexp) и сохраняется обратно/zero/submit/. Схема полей не хардкодится —zero_get_elementsпоказывает реальные имена, новые элементы создаются клонированием существующих (всегда валидны).Публикация — кнопка
#page_menu_publishlink.Проверка — живой HTML грузится через сам браузер с обходом кэша (
tilda.wsотдаёт 403 на прямые запросы).
Примеры запросов
# Чтение
Покажи мои проекты в Tilda
Список страниц проекта 12345
Экспортируй страницу 67890
# Действия (нужен запущенный debug-Chrome)
Проверь статус Chrome
Поставь Метрику 109756541 в проект 23943806, потом опубликуй её страницы
На странице 131579756 замени в коде counterID=108377870 на counterID=109756541
На странице 131579756 замени ссылку https://t\.me/\+\w+ на https://t.me/+NEW и опубликуй
Проверь, что на dubaiphonemart.com есть +NEW и нет +OLD
# Редактор Zero Block
Покажи элементы Zero Block на странице 131579756 (match: "Оставить заявку")
В блоке с текстом "45%" поменяй текст элемента с "45" на "от 45% годовых*"
Добавь вторую кнопку: склонируй элемент с textContains "Оставить заявку", патч text="Узнать подробнее", top=650
Удали элемент с index 4 в Zero Block страницы 131579756Разработка
npm run dev # запуск из исходников (tsx)
npm run build # сборка в dist/
npm test # тесты (vitest)Лицензия
MIT
Available Tools
16 toolschrome_statusA
Проверить подключение к Chrome по CDP и сессию Tilda (залогинен ли пользователь).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what is checked but not how (e.g., side effects, authentication needs, error behavior). The behavioral profile is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded and concise, containing the essential purpose without extraneous detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain return values or format. For a status check, more context (e.g., what 'connected' or 'logged in' means as output) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (schema coverage 100%), so the description naturally adds no param info. Baseline for 0 parameters is 4, and the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool checks Chrome CDP connection and Tilda session (login status), using a specific verb-resource combination. It effectively distinguishes from siblings that focus on projects, pages, or publishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The usage is implied as a pre-check, but the description lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pageB
Получить полную информацию о странице Tilda (HTML, CSS, JS).
| Name | Required | Description | Default |
|---|---|---|---|
| pageid | Yes | ID страницы Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It implies a read operation but does not explicitly state safety, side-effect absence, or what 'full information' entails beyond HTML, CSS, JS. The scope is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It is front-loaded with the main purpose. However, it could be slightly more structured to separate key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should at least hint at the return format. 'Full information' is too vague; the agent cannot infer whether the response contains HTML, CSS, JS separately or combined. This is incomplete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% (one parameter documented in schema). The tool description does not add any new meaning beyond what the schema already provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves full page information (HTML, CSS, JS) for a Tilda page. It uses a specific verb-resource combination and distinguishes from siblings like 'get_pages' (list) and 'get_page_export' (export).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or exclusions. The description only states what it does without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_exportA
Экспортировать страницу Tilda — HTML, CSS, JS, изображения для самостоятельного хостинга.
| Name | Required | Description | Default |
|---|---|---|---|
| pageid | Yes | ID страницы Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavior. It mentions export contents but omits whether it is read-only, synchronous, or how the result is delivered (e.g., file download). Partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear verb and resource. No redundancy, front-loaded with 'экспортировать'. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-param export tool, the description is mostly adequate but lacks output format details (e.g., ZIP file). With no output schema, completeness could be higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (pageid). The tool description does not add detail beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a Tilda page (HTML, CSS, JS, images) for self-hosting, which is a specific and distinct action from sibling tools like get_page or publish_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, use cases, or exclude other tools (e.g., get_page for preview vs export for download).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pagesC
Получить список страниц проекта Tilda.
| Name | Required | Description | Default |
|---|---|---|---|
| projectid | Yes | ID проекта Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description implies a read operation ('get list') but lacks disclosure of authentication needs, rate limits, or output format. For a simple list tool, basic transparency is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It is concise but could benefit from additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description provides minimal context. It does not explain the return structure, pagination, or any limitations, which is acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the description does not add meaning beyond what the schema provides ('ID проекта Tilda'). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('get') and resource ('list of pages of a Tilda project'). It distinguishes from sibling tools like 'get_page' (single page) and 'get_projects' (list of projects), though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_page for a single page, get_projects for project listing). The description does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoA
Получить подробную информацию о проекте Tilda (домен, настройки, CSS/JS).
| Name | Required | Description | Default |
|---|---|---|---|
| projectid | Yes | ID проекта Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the return content (domain, settings, CSS/JS) but does not disclose behavioral traits such as read-only nature, authentication needs, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, front-loaded with the verb and resource. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description is adequate. It covers the purpose and what the tool returns, though it could briefly mention the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'projectid', which has a brief description. The description adds no further meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get), resource (project info), and scope (domain, settings, CSS/JS), distinguishing it from siblings like get_projects (list) and get_page (page-level).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming what it returns, but does not explicitly state when to use this tool versus alternatives like get_projects or get_page, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectsA
Получить список проектов Tilda.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'list of projects' without specifying scope (e.g., all projects), authentication needs, or whether it's read-only. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded and efficient. Could be slightly expanded for completeness without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no annotations, and no output schema, the description is adequate for a simple list retrieval. However, it lacks potential details like whether the list is paginated or sorted. Siblings suggest more granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is 100%. The description adds no parameter details, but none are needed. Baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'get' and resource 'list of projects' with domain 'Tilda', clearly stating the tool's purpose. It distinguishes from sibling 'get_project_info' which targets a single project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_project_info' or when not to use it. The usage is implied by its simplicity but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_pageA
Опубликовать страницу Tilda (изменения становятся видны на живом сайте).
| Name | Required | Description | Default |
|---|---|---|---|
| pageid | Yes | ID страницы Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It reveals that publishing makes changes live, which is a destructive effect, but omits details like permissions, side effects, or whether it triggers a rebuild. This is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no unnecessary words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the purpose and effect adequately. It lacks details about error conditions or expected behavior if the page doesn't exist, but overall is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides a description for the only parameter ('pageid') with full coverage. The tool description does not add any additional meaning beyond what the schema already conveys, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('publish') and resource ('Tilda page'), and specifies the outcome ('changes become visible on the live site'). This distinguishes it effectively from sibling tools like get_pages or replace_page_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when changes need to be made live, but does not explicitly state when not to use it (e.g., if page is already published) or mention alternatives. Still, context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_page_codeB
Заменить текст (regexp) в HTML-код-блоках T123 страницы — напр. сторонние скрипты/трекеры. По умолчанию публикует страницу.
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | Регулярное выражение для поиска в коде блока (флаг g применяется автоматически) | |
| pageid | Yes | ID страницы Tilda | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| replace | Yes | Строка замены |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the default publish behavior, which is a key side effect. However, it does not mention other behavioral traits like irreversibility, authorization needs, or that it modifies the page permanently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two concise clauses, front-loading the core purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description provides minimal context: it does not explain return values, error behavior, or whether this tool only works on T123 page type. The mention of 'T123' is ambiguous for agents unfamiliar with Tilda.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description does not add new semantic information beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (replace text with regex), the resource (HTML code blocks of a T123 page), and provides an example (third-party scripts/trackers). It distinguishes itself from siblings like replace_zero_links and publish_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description gives a use case example but does not mention when not to use it or compare with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_zero_linksA
Заменить ссылки (regexp) в элементах Zero Block страницы — напр. ссылки кнопок. По умолчанию публикует страницу.
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | Регулярное выражение для поиска ссылки, напр. https://t\.me/\+[A-Za-z0-9_-]+ | |
| pageid | Yes | ID страницы Tilda | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| replace | Yes | Новая ссылка |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the default publish behavior, which is important. However, it does not mention potential side effects, permissions required, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence in Russian, front-loading the primary action. Every word is purposeful, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description is adequate but minimal. It covers the core operation and default publish behavior but lacks details on return values, error conditions, or additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds little beyond the schema, only restating that 'find' is a regex. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: replace links using regex in Zero Block elements of a page, with a concrete example (button links). It is specific and distinguishes this tool from siblings like zero_update_element or replace_page_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for regex-based link replacement in Zero Block elements, but does not explicitly state when to use this tool versus alternatives like zero_update_element. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_metrikaA
Задать ID Яндекс.Метрики в настройках проекта Tilda. Затем нужна перепубликация страниц.
| Name | Required | Description | Default |
|---|---|---|---|
| metrikaId | Yes | Номер счётчика Яндекс.Метрики, напр. 109756541 | |
| projectid | Yes | ID проекта Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the need for republishing, which is a key side effect. However, it does not mention overwriting behavior, reversibility, permissions, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and a necessary follow-up. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key operation and a critical follow-up step. However, for a simple setter tool, it could also mention the outcome (e.g., returns success/error) or that it modifies project settings, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds no extra meaning beyond the schema, apart from tying the main action to the metrikaId parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'set the Yandex.Metrica ID' and the resource 'in Tilda project settings'. It is distinct from sibling tools, none of which deal with Metrica.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use (setting Metrika ID) and mentions a required follow-up action (republishing pages). However, it does not explicitly exclude alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_liveB
Проверить живой HTML сайтов: какие подстроки присутствуют/отсутствуют (с обходом кэша).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Список URL или доменов для проверки | |
| contains | No | Подстроки, которые ДОЛЖНЫ присутствовать | |
| notContains | No | Подстроки, которых НЕ должно быть |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description must cover behavioral traits. It states it checks live HTML with cache bypass, but does not disclose what happens on errors (e.g., site down), rate limits, or whether multiple URLs are checked concurrently. The return format is not hinted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the core action and conditions. No wasted words; every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no output schema and three parameters, yet description omits return value details, error handling, and concurrency behavior. Without annotations, the description is insufficient for an agent to fully anticipate tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (urls, contains, notContains). The description adds cache bypass context but does not enhance parameter meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks live HTML of sites for presence/absence of substrings, with cache bypass. Verb 'check', resource 'live HTML', and specific condition (substrings) are all present, distinguishing it from sibling tools that deal with pages, projects, or metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The mention of 'cache bypass' implies it fetches fresh content, but there is no comparison with siblings like 'get_page' or 'chrome_status'. Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero_add_elementB
Добавить элемент в Zero Block: клонировать существующий (schema-safe) с патчем или вставить произвольный объект. По умолчанию публикует.
| Name | Required | Description | Default |
|---|---|---|---|
| match | No | Regexp по содержимому блока — найти Zero Block, если recId неизвестен | |
| newId | No | Желаемый id нового элемента (иначе сгенерируется) | |
| patch | No | Патч к клону/элементу (deep merge), напр. новый текст/позиция | |
| recId | No | Числовой recid Zero Block (если известен) | |
| pageid | Yes | ID страницы Tilda | |
| cloneId | No | Клонировать элемент с этим id | |
| element | No | Произвольный объект элемента (если не клонируем) | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| cloneIndex | No | Клонировать элемент по позиции (0-based) | |
| cloneTextContains | No | Клонировать элемент, чьё текстовое поле содержит подстроку |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions auto-publishing and schema-safe cloning, but lacks details on side effects (e.g., irreversible publishing), required permissions, error states, or what happens when parameters conflict (e.g., both cloneId and element provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose, modes, and default behavior with no unnecessary words. It is front-loaded with the main function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, nested objects, no output schema), the description is too sparse. It omits information about return values, error handling, conflict resolution, and the 'schema-safe' guarantee. A more complete description would help an agent use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all 10 parameters, providing baseline understanding. The description adds some context by explaining the two operational modes (clone vs insert) and the publish default, but does not significantly enhance parameter meaning beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to add an element to a Zero Block via cloning an existing element with a patch or inserting an arbitrary object. The verb 'add' and the specific modes distinguish it from sibling tools like zero_update_element or zero_delete_element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some guidance on when to use the tool (to add an element) and distinguishes cloning vs insertion, but it does not explicitly exclude cases where other tools might be more appropriate, nor does it mention alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero_delete_elementC
Удалить элемент(ы) Zero Block по id/index/тексту. По умолчанию публикует.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Ключ/id элемента в модели (см. zero_get_elements) | |
| index | No | Позиция элемента в порядке обхода (0-based) | |
| match | No | Regexp по содержимому блока — найти Zero Block, если recId неизвестен | |
| recId | No | Числовой recid Zero Block (если известен) | |
| pageid | Yes | ID страницы Tilda | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| textContains | No | Элемент, у которого любое текстовое поле содержит эту подстроку |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adds that publishing is default (restating schema), but does not disclose destructiveness, reversibility, or behavior with multiple selectors. Schema already covers parameter defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient, but could be improved by explaining selector priority or adding a note about multiple matches.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter deletion tool with no output schema and no annotations, the description is too sparse. Lacks behavioral details like error handling, confirmation requirements, or interaction between selectors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. Description adds no extra meaning beyond what the schema provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and resource (Zero Block elements) and specifies selection methods (id/index/text). It distinguishes from siblings like zero_add_element or zero_update_element, though it could be more explicit about the scope of deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like zero_update_element. Does not mention prerequisites, such as knowing the page ID, or when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero_get_elementsA
Прочитать модель Zero Block: список элементов (тип, текст, ссылки, геометрия, все поля). Вызывайте перед правками.
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Включить полный сырой объект каждого элемента | |
| match | No | Regexp по содержимому блока — найти Zero Block, если recId неизвестен | |
| recId | No | Числовой recid Zero Block (если известен) | |
| pageid | Yes | ID страницы Tilda |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It correctly labels the tool as a read operation ('прочитать') with no hint of destructive behavior. While it doesn't disclose exact return format or edge cases, it's adequate for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first defines purpose, second provides usage advice. Front-loaded with key information, no redundant words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a read tool with 4 parameters and no output schema, the description is reasonably complete. It states the tool's purpose and usage context. However, it could clarify that either recId or match is needed alongside pageid, but the schema's required field (pageid) makes this implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not elaborate on the 'match' or 'recId' relationship, but the schema already covers this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads a Zero Block model and lists elements with fields (type, text, links, geometry, all fields). The verb 'прочитать' and resource 'Zero Block' are specific, and it distinguishes from sibling write tools (zero_update_element, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Вызывайте перед правками' (Call before edits), providing clear context for when to use. Does not enumerate when not to use, but the guidance is sufficient for a read tool among many write siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero_set_textB
Заменить текст/строки (regexp) по всей модели Zero Block. По умолчанию публикует.
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | Регулярное выражение для поиска (флаг g применяется автоматически) | |
| match | No | Regexp по содержимому блока — найти Zero Block, если recId неизвестен | |
| recId | No | Числовой recid Zero Block (если известен) | |
| pageid | Yes | ID страницы Tilda | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| replace | Yes | Строка замены |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description adds the key behavioral trait of auto-publishing by default. However, it omits details on destructive nature, error handling, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads the main action, achieving conciseness. A touch more structure could improve clarity but is not severely lacking.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (3 required) and no output schema, the description is too brief. Missing explanation of the 'match' parameter, selection logic between recId/match, and what 'entire model' means per page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal extra value. It restates the auto-publish behavior but does not explain the 'match' parameter or how find/replace interacts with recId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool replaces text using regex in Zero Block models and mentions auto-publishing. It distinguishes from siblings like replace_zero_links (link replacement) and zero_update_element (single element update), though scope (per page) is implicitly from schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., replace_zero_links, zero_update_element). No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero_update_elementC
Изменить элемент(ы) Zero Block: deep-merge JSON-патча по id/index/тексту — текст, цвет, шрифт, размер, позиция, ссылка. По умолчанию публикует.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Ключ/id элемента в модели (см. zero_get_elements) | |
| index | No | Позиция элемента в порядке обхода (0-based) | |
| match | No | Regexp по содержимому блока — найти Zero Block, если recId неизвестен | |
| patch | Yes | JSON-патч (deep merge). Имена полей — как в zero_get_elements. null удаляет поле. | |
| recId | No | Числовой recid Zero Block (если известен) | |
| pageid | Yes | ID страницы Tilda | |
| publish | No | Опубликовать страницу после изменения (по умолчанию true) | |
| textContains | No | Элемент, у которого любое текстовое поле содержит эту подстроку |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It only mentions 'publishes by default' and implies mutation, but lacks details on reversibility, permissions, error handling, or impact of invalid patches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the core action. However, it could pack more useful guidance without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, complex deep-merge behavior, and multiple identification methods (id, index, recId), the description is too brief. It omits explanation of match and textContains, and does not clarify how identification methods interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds limited value beyond the schema. It explains 'deep-merge' and that null removes a field, which is helpful, but does not elaborate on identification strategy or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Change element(s) Zero Block' with a deep-merge JSON patch and lists modifiable properties (text, color, font, etc.). It is clear about the resource and action, but does not explicitly differentiate from sibling tools like zero_set_text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., zero_set_text for text-only updates, zero_add_element for adding). There is no mention of prerequisites or contraindications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
v1.3.0- First observed
chrome_status - First observed
get_page - First observed
get_page_export - First observed
get_pages - First observed
get_project_info - First observed
get_projects - First observed
publish_page - First observed
replace_page_code - First observed
replace_zero_links - First observed
set_metrika - First observed
verify_live - First observed
zero_add_element - First observed
zero_delete_element - First observed
zero_get_elements - First observed
zero_set_text - First observed
zero_update_element
TDQS
Scored across 16 tools
Each tool targets a distinct aspect of Tilda: projects, pages, Zero Block elements, publishing, verification, and analytics integration. The operations are clearly separated, and even overlapping functions like replace_page_code and replace_zero_links act on different parts of the page. No two tools have ambiguous purposes.
Tool names follow a consistent verb_noun pattern (e.g., get_pages, publish_page, zero_get_elements). The Zero Block tools are properly prefixed. Minor exceptions like chrome_status and verify_live break the pattern slightly but remain descriptive and unambiguous.
With 16 tools, the server covers all essential operations for managing Tilda projects and pages, including advanced Zero Block manipulation. The number is well-scoped for the domain; no tool feels redundant or missing.
The toolset covers project listing, page retrieval and export, Zero Block CRUD, publishing, live verification, and analytics setting. Minor gaps exist (e.g., updating project settings, managing images), but for the core workflow of editing pages and blocks, it is complete.
Maintenance
Related MCP Connectors
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
All HasData scraping tools in one MCP server: Google, TikTok, Instagram, maps, e-commerce and more.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
MCP server that delivers up-to-date Bitrix24 REST API documentation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for Yandex Direct, Metrika, Wordstat, and Webmaster APIs, providing 132 tools to manage advertising campaigns, analytics, keyword research, and reporting through any MCP-compatible client.59MIT
- AlicenseAqualityBmaintenanceEnables managing Tilda projects, pages, and exports via the Tilda API with 7 tools. Supports stdio and HTTP modes.749 npm16MIT
- FlicenseAqualityBmaintenanceMCP server for publishing posts and retrieving metrics on social platforms like Telegram, with planned support for YouTube and Instagram.3-
- AlicenseCqualityDmaintenanceMCP server for the Meta Marketing API with 118 typed tools across ads, insights, pixels/CAPI, pages, Instagram, WhatsApp, catalogs, audiences, leads, and billing, featuring secure token storage and a confirmation gate on destructive calls.1001MIT